Tags:
Forums: 

ผมหัดทำเว็บด้วย django ทำงุๆปลาแบบรันหน้าเว็บ โชว์ คำพูดหรือเช็ค สคริป ได้เฉยๆครับแต่
งงกับการเขียนเทมเพลต ครับ คือยังสับสนกับปัญหาของตัวเองอยู่ พอดีผมเห็น ในเว็บที่เขาสอนการใช้ โหมด admin ทำให้ง่ายต่อการสร้างเว็บครับ แต่ทำแล้วก็ยังงงๆ อยู่รบกวนผู้รู้ช่วยชี้แนะด้วยครับ
ขอบคุณครับ

Get latest news from Blognone
By: tonkla
Ubuntu
on 16 July 2010 - 20:53 #192816

ลองอ่านนี่ดูนะครับ http://docs.djangoproject.com/en/1.2/ref/contrib/admin/ เขียนอธิบายได้ค่อนข้างละเอียดดี ผมก็ศึกษาจากนี่แหละครับ

By: kowito2
Android
on 17 July 2010 - 14:34 #193071

ผมสับสนกับคำถาม อยากให้แนะนำตรงใหน ทำอะไรไม่ได้ล่ะครับ

By: djangohelpme
Ubuntu
on 25 July 2010 - 17:22 #195853

คือผมศึกษา django ผ่าน พวก e-book Packt.Publishing.Learning.Website.Development.with.Django.Mar.2008 หนะครับ ผมพอเข้าใจกับการทำงาน แล้วครับแต่ติดตรง การทำลอกอินหนะครับ พวกให้สามารถลอกอินเข้าใช้แล้วก็สมัครสมาชิกแต่พอไปศึกษาที่ http://www.djangoproject.com/documentation/0.96/
authentication/. ก็ยิ่งรู้เรื่องเลยครับเลยอยากหาคนชี้แนะการ ทำลอกอินพวกสมัครมาชนิกด้วยครับ

By: KnightBaron
ContributoriPhoneAndroidRed Hat
on 25 July 2010 - 21:49 #195918 Reply to:195853
KnightBaron's picture

เอ่อ นั่นมัน Document เก่าไม่ใช่เหรอครับ? ของใหม่สุดรู้สึกจะอยู่ที่ http://docs.djangoproject.com/ นะครับ

By: kowito
Android
on 25 July 2010 - 22:02 #195923 Reply to:195918

อ่านที่นี่ง่ายกว่าครับ http://www.djangobook.com/en/2.0/

By: umtapao
Android
on 31 May 2011 - 16:12 #295170 Reply to:195923

+1

By: kowito
Android
on 25 July 2010 - 21:49 #195919

ลองไปดูบล็อกของ James Bennett สิครับ เค้าแนะนำไว้ดีมากเลย
http://www.b-list.org/weblog/2009/oct/14/registration/

By: audy
AndroidUbuntu
on 26 July 2010 - 11:59 #196034
audy's picture

มีคนใช้ Django เพิ่มอีกคน :)

By: djangohelpme
Ubuntu
on 26 July 2010 - 22:37 #196142

ขอบคุณมากครับ พอดีผมเป็นพวกไม่ค่อยจะไปอ่านจากเว็บของ ดีจังโก้เท่าไหร่ครับ ชอบ ไปอ่านพวก อีบุค แล้วลุยดูหนะครับ ขอให้ ลิ้งที่พี่ๆให้มา ช่วยผมให้สำเร็จเถอะครับสาธุ ตอนนี้ ผมเขียน ใน ลินุกหนะครับ พอดีจะเขียนทำโปรเจ็ค ควบคู่กับ libpcap หนะครับ กะจะดึงข้อมูลจาก logging จาก libpcap มาโชว์ในเว็บหนะครับ ขอบคุณครับ

By: kowito
Android
on 26 July 2010 - 23:00 #196151 Reply to:196142

อีกนิดนึงครับ ชื่อ Django ออกเสียงว่า "จังโก้" นะครับ

By: djangohelpme
Ubuntu
on 26 July 2010 - 23:21 #196155

อ่อ ครับแต่ก่อนผมก็เรียก ดีจานโก้ แต่พอไป อ่านในของฝรั่ง เขาเอาเสียง จังโก้ - -

By: djangohelpme
Ubuntu
on 26 July 2010 - 23:31 #196158

ภาษาอังกฤษ เยอะแยะเลย บางตัวอย่างก็ บอกไม่ค่อยจะละเอียดเลยครับ

By: chiwawa on 29 July 2010 - 17:17 #197173
chiwawa's picture

หลังจากได้ลองเขียนตาม tutorial 1, 2, 3, 4 ในเวบ
http://docs.djangoproject.com/en/1.1/intro/tutorial01/#intro-tutorial01
เสร็จแล้วผมต้องการทำการให้ Poll มีหน้าตาและความสามารถ เหมือนกับหน้า admin ตาม ลิงค์ข้างล่าง
ในรูปแรก(ท้ายสุดของ tutorial)

http://docs.djangoproject.com/en/1.2/intro/tutorial02/#intro-tutorial02

ผมต้องเขียน viwe และ Template inheritance อย่างไงครับ

By: kowito
Android
on 30 July 2010 - 12:14 #197402 Reply to:197173

ทำตามแล้วทำไมมันไม่เหมือนกันล่ะครับ งง?

By: chiwawa on 30 July 2010 - 14:12 #197437
chiwawa's picture

ผมใช้ django 1.1

http://localhost:8080/admin/polls/poll/ (port อาจไม่เหมือนกัน)
อันนี้เป็น url บนเครื่องผม ที่หน้า admin page มีหน้าตาเหมือนใน
http://docs.djangoproject.com/en/1.2/intro/tutorial02/#intro-tutorial02
ในรูปแรก(ท้ายสุดของ tutorial)

แต่ ตอนทำตัวอย่างที่ 3
http://docs.djangoproject.com/en/1.1/intro/tutorial03/#intro-tutorial03
ท่อนกลาง

{% if latest_poll_list %}

    {% for poll in latest_poll_list %}

  • {{ poll.question }}
  • {% endfor %}

{% else %}

No polls are available.

{% endif %}

เป็น code ใน [template_directory]/polls/index.html ตามตัวอย่าง
เวลาเข้าไปดู ก็เข้าตามนี้ครับ
http://localhost:8080/polls

สิ่งที่ได้ หน้าตาไม่เหมือนใน admin page ผมต้องการ ให้มันเหมือนหน้า admin page
และต้องการ ทั้งปุ่ม Add poll และ filter ด้านข้างเหมือนหน้า admin

ผมต้องเขียน viwe และ Template inheritance อย่างไงครับ

By: kowito
Android
on 31 July 2010 - 15:59 #197695 Reply to:197437

ต้องแยกนะครับ ระหว่าง Admin site กับ View ไม่เหมือนกันเลย

คุณสร้าง VIew ขึ้นมาเพื่อที่จะแสดง Poll แต่อยากให้เหมือนหน้า Admin ซึ่งมันเป็นไปไม่ได้
คงต้องดูจุดประสงค์ว่าจะทำไปเพื่ออะไร คุณมีทางเลือกอยู่ 2 ทาง

1.สร้าง View ขึ้นมา แล้วใช้ CSS ชุดเดียวกันกับ Admin Site แล้วจึง Import JavaScript ของ Admin Site มาใช้ สร้างหน้าเพิ่มโพล เพิ่มฟังชั่นอะไรพวกนี้ขึ้นมาเอง เพื่อให้คนนอก (ไม่จำเป็นต้องเป็นสมาชิกของเว็บ) สามารถเข้ามา Vote

  1. Cuztomize หน้า Admin Site ให้เป็นอย่างที่ต้องการ สำหรับให้สมาชิกเข้ามา Vote เท่านั้น
By: chiwawa on 31 July 2010 - 21:28 #197714 Reply to:197695
chiwawa's picture

http://docs.djangoproject.com/en/1.1/intro/tutorial02/#intro-tutorial02
หัวข้อ Customize the admin form

class PollAdmin(admin.ModelAdmin):
fields = ['pub_date', 'question']

admin.site.register(Poll, PollAdmin)

เพียงเขียนโค้ด ง่ายๆ ก็สามารถ สร้างหน้าเวบได้อย่างรวดเร็ว ซึ่งใน
http://docs.djangoproject.com/en/1.1/ref/contrib/admin/
หัวข้อ Templates which may be overridden per app or model
ได้พูดถึง Templates เหล่านี้

* app_index.html
* change_form.html
* change_list.html
* delete_confirmation.html
* object_history.html

มันทำให้ผมคิดว่า มีวิธีที่ จะทำหน้าเว็บได้อย่างรวดเร็ว เหมือนการสร้าง หน้า admin
ผมก็อ่าน แบบผ่านๆ ครับ ภาษาอังกฤษยังไม่ดีพอ

ถ้าผมต้องการใช้ หน้า admin โดยไม่ลอกออน เข้าไป จะมีวิธีไหนทำได้บ้างครับ

By: kowito
Android
on 3 August 2010 - 15:37 #198401 Reply to:197714

จะไป customize หน้า admin ผมว่าอาจจะยุ่งยากเกินไป ลองทำตามตัวอย่างนี้ดูก่อนดีใหมครับ Django Djumpstart: Build a To-do List in 30 Minutes พอทำไอ้นี้ได้ ไปเรื่องต่อๆไปก็ง่ายแล้ว

By: chiwawa on 5 August 2010 - 10:42 #199066 Reply to:197437
chiwawa's picture

http://docs.djangoproject.com/en/1.1/ref/contrib/admin/
หัวข้อ Templates which may be overridden per app or model
ได้พูดถึง Templates เหล่านี้

  • app_index.html
  • change_form.html
  • change_list.html
  • delete_confirmation.html
  • object_history.html

ทำไว้ดีมากเลยครับ สิ่งที่ขาดไปคือ
* detail_form.html
ซึ่งผมคิดว่าน่าจะดียิ่งขึ้น โดยที่แสดงเหมือน * change_form.html แต่ไม่สามารถแก้ไขได้

เช่น http://localhost:8080/admin/polls/poll/ บนเครื่องผม จะไปหน้า
* change_list.html ก่อนซึ้งมีหน้าตาเหมือน

http://docs.djangoproject.com/en/1.2/intro/tutorial02/#intro-tutorial02
ในรูปแรก(ท้ายสุดของ tutorial)

แล้วพอคลิกลิงค์ อยากให้มันไปที่ * detail_form.html โดยที่แสดงเหมือน
* change_form.html แต่ไม่สามารถแก้ไขได้
ข้างล่างเหมือนจะมีปุ่ม delete กับ edit จะดีมาก

ขอพูดถึง auth change group
ผมได้ตั้งค่า chosen permissions

polls | choce | Can add choice
polls | poll | Can add poll

ผลคือ ไม่สามารถไปที่ http://localhost:8080/admin/polls/poll/ เพราะไม่มีสิทธิ
จึงทำให้ผมมีแนวคิดว่า อยากให้มี * detail_form.html เกิดขึ้น แล้วเพิ่มสิทธิ
polls | poll | Can look poll หรือ
polls | poll | Can see poll

แนวคิดครับ
1 permissions ของ poll และ choce ถูกสร้างขึ้นตอนไหนครับ?? ( เดาว่า หลังคำสั่ง python manage.py syncdb)
2 จะสร้าง permissions , polls | poll | Can see poll โดยสร้างผ่าน ข้อ 1 โดยออโตเมติก
3 จะให้หน้า admin มีหน้า * detail_form.html โดยสร้างผ่าน ข้อ 1 โดยออโตเมติก

ถ้าผมอยากทำ ควรเริ่มตรงไหนดี

By: djangohelpme
Ubuntu
on 31 July 2010 - 11:35 #197649
    • โห มีปัญหากันเต็มเลยหรอครับ ผมก็เป็นเหมือนกันครับ แต่ตอนนี้กำลัง หมกมุ่นกับ django ไม่ได้มาบอกผลเลยว่าได้ไหม ก็ยังมึนๆกับการทำ authen สมัครสมาชิก ลอกอินเหมือนเดิม !
By: djangohelpme
Ubuntu
on 31 July 2010 - 17:25 #197699

ผมมีข้อสงสัยในการใช้ mysql มาใช้ใน django มันติด ว่าไม่ได้ import เราก็ไปแก้ค่าที่เขาแนะนำมาแล้วก็ยังไม่ได้อยู่ดี ครับ

By: chiwawa on 31 July 2010 - 21:16 #197713 Reply to:197699
chiwawa's picture

แนะนำตัวนี้ครับ
http://bitnami.org/stack/djangostack

ติดตั้งง่าย มีให้เลือกลงได้หลาย os
ผมใช้บนวินโดว์
แต่จะได้ version 1.1 นะครับ
แล้วลองทำตาม tutorial
http://docs.djangoproject.com/en/1.1/intro/tutorial01/

ลดการปรับแต่ง ดาต้าเบสครับ
มันจะลงให้ค่อนข้าง สำเร็จรูป เหมาะแก่การเ่ริ่มต้นครับ

By: kowito
Android
on 3 August 2010 - 15:39 #198402 Reply to:197699

เข้าใจว่าไม่ได้ลง python-mysqldb ลองลงดูก่อนนะครับ

By: chiwawa on 2 August 2010 - 17:14 #198067
chiwawa's picture

สำหรับการ config db(MySQL) ให้ใช้ utf8 สำหรับภาษาไทย เพื่ม

DATABASE_OPTIONS = {
"charset": "utf8",
"init_command": "SET storage_engine=InnoDB",
}

ในไฟล์ setting.py

ถ้าเคยใช้คำสั่ง python manage.py syncdb มาแล้ว
ผมไม่แน่ใจว่า จะมีผลหรือไม่

ให้ทำการ Drop table ใน db ของคุณ แล้วสร้างขึ้นมาใหม่ด้วย
python manage.py syncdb
จะทำให้ MySQL ใช้ภาษาไทยได้นะครับ

ถ้าอยากใช้ หน้า admin ภาษาไทย
เปลี่ยนจาก
LANGUAGE_CODE = 'en-us'
เป็น
LANGUAGE_CODE = 'th'

ภาษาไทยคุณก๊พร้อมใช้แล้ว

By: djangohelpme
Ubuntu
on 23 May 2011 - 13:11 #291989

จำได้ว่ามี พี่ๆ เคยแจก เขียนDjangoใน30นาที ใครยังมีไฟล์อยู่บ้างหรือเปล่าครับ ผมอยากจะเอามาอ่านกับเื่พื่อนครับ แต่จำได้ว่าลิ้งค์เสียไปแล้ว ใครมีรบกวนช่วยแนะนำทีครับ !

By: umtapao
Android
on 31 May 2011 - 16:53 #295197

อาจจะไม่ตรงคำถามซะทีเดียวนะครับ แต่เห็นมีคนพูดถึง django admin กัน เลยอยากแนะนำให้อ่านที่นี่ดูครับ และคงมีประโยชน์กับค้นตั้งกระทู้บ้าง
http://www.djangobook.com/en/2.0/chapter06/

หนังสือนี้ เขียนโดยนักพัฒนาของ django (ผมอ้างอิงตาม about the book ครับ) ขอยกมา 2 ย่อหน้านะครับ

For a certain class of Web sites, an admin interface is an essential part of the infrastructure. This is a Web-based interface, limited to trusted site administrators, that enables the adding, editing and deletion of site content. Some common examples: the interface you use to post to your blog, the backend site managers use to moderate user-generated comments, the tool your clients use to update the press releases on the Web site you built for them.

One final point we want to make clear is: the admin site is not an end-all-be-all. Over the years, we’ve seen it hacked and chopped up to serve a variety of functions it wasn’t intended to serve. It’s not intended to be a public interface to data, nor is it intended to allow for sophisticated sorting and searching of your data. As we said early in this chapter, it’s for trusted site administrators. Keeping this sweet spot in mind is the key to effective admin-site usage.

ผมไม่แน่ใจว่าเคยอ่านเจอที่ไหน แต่เหมือนจำได้ว่าการออกแบบของ Admin-Site ไม่ได้เน้นในเรื่องของ security สำหรับ public user ด้วย นะครับ ซึ่งผมก็คิดว่าตรงกับเจตนาข้างต้นที่เค้าเขียนไว้ครับ

สำหรับประสบการณ์ส่วนตัวแล้ว ถ้าตั้งใจจะใช้ django จริงๆ ในระยะยาว (ในระยะเริ่มต้นไม่เป็นไรนะครับ อยากทำอะไรก็ลองทำไปเลย แต่แนะนำไว้นิดนึง ^^ ไว้ไปดูเมื่อถึงเวลาครับ) (รวมถึง open source framework ตัวอื่นๆ ด้วย) ผมแนะนำให้อ่านจาก community ของเค้าเองจะดีที่สุดครับ ต้องเข้าใจนิดนึงว่า การใช้ framework สามารถทำให้เราทำงานได้เร็วขึ้น แต่ก็จำเป็นที่จะต้องทราบถึงทิศทางการพัฒนาโปรแกรม เพื่อที่เราจะได้วางแผนและออกแบบโปรแกรมให้สอดคล้องด้วยครับ เนื่องจากเค้าจะมีการ update อยู่เรื่อยๆ บาง features, settings ก็มีการเปลี่ยนแปลง แต่ผมว่า ยังไงก็คุ้มกว่าเราทำเองเยอะครับ ^^

By: djangohelpme
Ubuntu
on 6 June 2011 - 10:44 #297241

อ่อตรงหมวดหัวข้อที่โพสผมทำเสร็จแล้วครับแค่อยากจะสอบถามถึง ที่พี่ๆ เขาเคยทำ django ภาษาไทยภายใย สามสิบนาที หนะครับแต่เห็นลิ้งค์เก่าหมดอายุเลยอยากจะขอเก็บไว้หนะครับ แต่คงไม่เป็นไรครับ

By: djangohelpme
Ubuntu
on 19 July 2011 - 19:01 #312262

ผมติดปัญหา ตรงการลอกอิน การสมัครสมาชิก มันไม่ได้ผ่านครับมันขึ้นว่า

Help

Reason given for failure:

CSRF token missing or incorrect.

In general, this can occur when there is a genuine Cross Site Request Forgery, or when Django's CSRF mechanism has not been used correctly. For POST forms, you need to ensure:

The view function uses RequestContext for the template, instead of Context.
In the template, there is a {% csrf_token %} template tag inside each POST form that targets an internal URL.
If you are not using CsrfViewMiddleware, then you must use csrf_protect on any views that use the csrf_token template tag, as well as those that accept the POST data.

You're seeing the help section of this page because you have DEBUG = True in your Django settings file. Change that to False, and only the initial error message will be displayed.

You can customize this page using the CSRF_FAILURE_VIEW setting.

By: chiwawa on 19 October 2011 - 11:02 #346317
chiwawa's picture

view.py

[form action='post']
{% csrf_token %}
.
.
.
[/form]

By: chiwawa on 19 October 2011 - 11:03 #346318
chiwawa's picture

[ เปลี่ยน เป็น <
] เปลี่ยนเป็น > พิมพ์ เข้าไปมันไม่แสดง หน้าเวบนี้อะครับ