Django - การสร้างโครงการ

ตอนนี้เราได้ติดตั้ง Django แล้วมาเริ่มใช้งานกันเลย ใน Django เว็บแอปทุกตัวที่คุณต้องการสร้างเรียกว่าโปรเจ็กต์ และโครงการคือผลรวมของแอปพลิเคชัน แอปพลิเคชันคือชุดไฟล์โค้ดที่ใช้รูปแบบ MVT ตัวอย่างเช่นสมมติว่าเราต้องการสร้างเว็บไซต์เว็บไซต์เป็นโครงการของเราและฟอรัมข่าวสารเครื่องมือติดต่อคือแอปพลิเคชัน โครงสร้างนี้ช่วยให้ย้ายแอปพลิเคชันไปมาระหว่างโปรเจ็กต์ได้ง่ายขึ้นเนื่องจากทุกแอปพลิเคชันเป็นอิสระ

สร้างโครงการ

ไม่ว่าคุณจะใช้ Windows หรือ Linux เพียงแค่ซื้อเทอร์มินัลหรือไฟล์ cmd แจ้งและไปยังสถานที่ที่คุณต้องการสร้างโครงการของคุณจากนั้นใช้รหัสนี้ -

$ django-admin startproject myproject

สิ่งนี้จะสร้างโฟลเดอร์ "myproject" โดยมีโครงสร้างดังนี้ -

myproject/
   manage.py
   myproject/
      __init__.py
      settings.py
      urls.py
      wsgi.py

โครงสร้างโครงการ

โฟลเดอร์ "myproject" เป็นเพียงที่เก็บโครงการของคุณซึ่งจริงๆแล้วมีสององค์ประกอบ -

  • manage.py- ไฟล์นี้เป็นไฟล์ django-admin ของโปรเจ็กต์ของคุณสำหรับการโต้ตอบกับโปรเจ็กต์ของคุณผ่านทางบรรทัดคำสั่ง (เริ่มเซิร์ฟเวอร์การพัฒนาซิงค์ฐานข้อมูล ... ) ในการรับรายการคำสั่งทั้งหมดที่สามารถเข้าถึงได้ผ่าน Manage.py คุณสามารถใช้รหัส -

$ python manage.py help
  • The “myproject” subfolder- โฟลเดอร์นี้เป็นแพ็คเกจ python จริงของโปรเจ็กต์ของคุณ ประกอบด้วยสี่ไฟล์ -

    • __init__.py - สำหรับ python ให้ถือว่าโฟลเดอร์นี้เป็นแพ็คเกจ

    • settings.py - ตามชื่อที่ระบุการตั้งค่าโครงการของคุณ

    • urls.py- ลิงก์ทั้งหมดของโครงการของคุณและฟังก์ชันในการโทร ToC ประเภทหนึ่งของโครงการของคุณ

    • wsgi.py - หากคุณต้องการปรับใช้โครงการของคุณผ่าน WSGI

การตั้งค่าโครงการของคุณ

โครงการของคุณตั้งค่าในโฟลเดอร์ย่อย myproject / settings.py ต่อไปนี้เป็นตัวเลือกสำคัญที่คุณอาจต้องตั้งค่า -

DEBUG = True

ตัวเลือกนี้ช่วยให้คุณตั้งค่าได้ว่าโปรเจ็กต์ของคุณอยู่ในโหมดดีบักหรือไม่ โหมดดีบักช่วยให้คุณได้รับข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดของโครงการ อย่าตั้งค่าเป็น "จริง" สำหรับโปรเจ็กต์สด อย่างไรก็ตามจะต้องตั้งค่าเป็น 'True' หากคุณต้องการให้เซิร์ฟเวอร์ Django light ให้บริการไฟล์แบบคงที่ ทำได้เฉพาะในโหมดการพัฒนาเท่านั้น

DATABASES = {
   'default': {
      'ENGINE': 'django.db.backends.sqlite3',
      'NAME': 'database.sql',
      'USER': '',
      'PASSWORD': '',
      'HOST': '',
      'PORT': '',
   }
}

ฐานข้อมูลถูกตั้งค่าในพจนานุกรม 'ฐานข้อมูล' ตัวอย่างด้านบนสำหรับ SQLite engine ตามที่ระบุไว้ก่อนหน้านี้ Django ยังสนับสนุน -

  • MySQL (django.db.backends.mysql)
  • PostGreSQL (django.db.backends.postgresql_psycopg2)
  • Oracle (django.db.backends.oracle) และ NoSQL DB
  • MongoDB (django_mongodb_engine)

ก่อนทำการติดตั้งเอ็นจิ้นใหม่ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไดร์เวอร์ฐานข้อมูลที่ถูกต้องแล้ว

คุณยังสามารถตั้งค่าตัวเลือกอื่น ๆ เช่น TIME_ZONE, LANGUAGE_CODE, TEMPLATE ...

ตอนนี้โปรเจ็กต์ของคุณถูกสร้างและกำหนดค่าแล้วให้แน่ใจว่ามันใช้งานได้ -

$ python manage.py runserver

คุณจะได้รับสิ่งต่อไปนี้ในการรันโค้ดด้านบน -

Validating models...

0 errors found
September 03, 2015 - 11:41:50
Django version 1.6.11, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.