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.