จะหยุดคุณใช้myproduct.myproduct
อะไร สิ่งที่คุณต้องทำให้สำเร็จโดยคร่าวๆประกอบด้วยการทำสิ่งนี้:
django-admin.py startproject myproduct
cd myproduct
mkdir myproduct
touch myproduct/__init__.py
touch myproduct/models.py
touch myproduct/views.py
และอื่น ๆ มันจะช่วยได้ไหมถ้าฉันบอกว่าviews.py
ไม่ต้องโทรหาviews.py
? ให้คุณสามารถตั้งชื่อบนเส้นทางหลาม, ฟังก์ชั่น (มักจะ package.package.views.function_name) มันจะได้รับการจัดการ เรียบง่ายเหมือนที่ สิ่งที่ "project" / "app" ทั้งหมดนี้เป็นเพียงแพ็คเกจงูใหญ่
ตอนนี้คุณควรจะทำอย่างไร หรือค่อนข้างฉันจะทำอย่างไร ดีถ้าคุณสร้างชิ้นส่วนที่สำคัญของการทำงานที่นำมาใช้ใหม่เช่นพูดบรรณาธิการมาร์กอัปที่เมื่อคุณสร้าง app "บนระดับ" ซึ่งอาจมีwidgets.py
, fields.py
, context_processors.py
ฯลฯ - ทุกสิ่งที่คุณอาจต้องการที่จะนำเข้า
ในทำนองเดียวกันถ้าคุณสามารถสร้างบางสิ่งบางอย่างเช่นบล็อกในรูปแบบที่ค่อนข้างทั่วไปในการติดตั้งคุณสามารถสรุปได้ในแอพด้วยเทมเพลตของตัวเองโฟลเดอร์เนื้อหาแบบคงที่ ฯลฯ และกำหนดค่าอินสแตนซ์ของโครงการ django เพื่อใช้งาน เนื้อหาของแอพ
ไม่มีกฎที่ยากและรวดเร็วว่าคุณต้องทำสิ่งนี้ แต่มันเป็นหนึ่งในเป้าหมายของกรอบการทำงาน ความจริงที่ว่าทุกอย่างรวมแม่แบบช่วยให้คุณสามารถรวมจากฐานทั่วไปบางอย่างหมายความว่าบล็อกของคุณควรจะพอดีในการตั้งค่าอื่น ๆ เพียงแค่ดูแลส่วนของตัวเอง
อย่างไรก็ตามเพื่อจัดการปัญหาที่แท้จริงของคุณใช่ไม่มีอะไรบอกว่าคุณไม่สามารถทำงานกับโฟลเดอร์โครงการระดับบนสุด นั่นคือสิ่งที่แอพทำและคุณสามารถทำได้ถ้าคุณต้องการจริงๆ อย่างไรก็ตามฉันมักจะไม่ทำด้วยเหตุผลหลายประการ:
- การตั้งค่าเริ่มต้นของ Django ไม่ได้ทำ
- บ่อยครั้งที่ผมต้องการที่จะสร้าง app
website
หลักดังนั้นฉันสร้างมักจะเรียกว่า อย่างไรก็ตามในภายหลังฉันอาจต้องการพัฒนาฟังก์ชั่นดั้งเดิมสำหรับเว็บไซต์นี้เท่านั้น ด้วยมุมมองที่ทำให้สามารถถอดออกได้ (ไม่ว่าฉันจะเคยทำหรือไม่) ฉันมักจะสร้างไดเรกทอรีแยกต่างหาก นอกจากนี้ยังหมายความว่าฉันสามารถวางฟังก์ชั่นการพูดเพียงแค่ยกเลิกการเชื่อมโยงแพ็คเกจนั้นจากการกำหนดค่าและการลบโฟลเดอร์แทนที่จะซับซ้อนลบ URL ที่เหมาะสมจากโฟลเดอร์ urls.py ทั่วโลก
- บ่อยครั้งที่ฉันต้องการทำบางสิ่งบางอย่างให้เป็นอิสระมันต้องอาศัยอยู่ที่ไหนสักแห่งในขณะที่ฉันดูแล / ทำให้เป็นอิสระ โดยทั่วไปกรณีข้างต้น แต่สำหรับสิ่งที่ฉันตั้งใจจะทำทั่วไป
- โฟลเดอร์ระดับบนสุดของฉันมักมีสิ่งอื่น ๆ อยู่รวมถึง แต่ไม่ จำกัด เพียงสคริปต์ wsgi, สคริปต์ sql เป็นต้น
- นามสกุลการจัดการของ django พึ่งพาไดเรกทอรีย่อย ดังนั้นจึงเหมาะสมที่จะตั้งชื่อแพ็คเกจอย่างเหมาะสม
ในระยะสั้นเหตุผลที่มีการประชุมเหมือนกับการประชุมอื่น ๆ - มันช่วยเมื่อมันมาถึงคนอื่นที่ทำงานกับโครงการของคุณ ถ้าฉันเห็นfields.py
ฉันคาดหวังรหัสทันทีในฟิลด์คลาสย่อย django ในขณะที่ถ้าฉันเห็นinputtypes.py
ฉันอาจไม่ชัดเจนในสิ่งที่หมายถึงโดยไม่ได้ดู