Django 101 : บทที่ 1 เริ่มต้นสร้าง APP
Django 101 : บทที่ 1 เริ่มต้นสร้าง APP
App หรือ Web Application เริ่มต้นที่เราจะสร้าง เพียงแค่สร้าง Form เพื่อกรอกข้อมูล และ ส่งไปบันทึกใน Database และเรียกมาแสดงเท่านั้น
แนวทางการเขียน Django ใน Pycharm
(กรณี ใช้ Pycharm เป็น IDE แบบ Community Edition จะต้องสร้าง Environment ให้เสร็จก่อน แล้วมาลง Django ใน CML อีกที หรือ Terminal ด้านล่าง Pycharm
1. ใช้คำสั่ง pip install django (ต้องเชื่อมต่อ Internet)
มาถึงตรงนี้ ถ้ามีข้อความ error ให้ลองพิมพ์คำสั่งนี้
Get-ExecutionPolicy
ถ้าขึ้นว่า Restricted คือ Windows Defender มันบล็อกการทำ Server อยู่ให้ปลดด้วยคำสั่งนี้
2. ถัดมาพิมพ์คำสั่ง django-admin startproject ชื่อโครงการ
เมื่อเสร็จแล้ว ใน Project จะมีโฟลเดอร์ แม้จะมี Django แล้ว เราต้อง cd เข้าสู่โปเจ็ค
3. ให้เราพิมพ์คำสั่ง django-admin startapp ชื่อApp
4. แก้ไข ไฟล์ Setting.py ดังนี้
4.1 เพิ่ม APP ที่เพิ่งลงไป ในไฟล์ setting.py
4.2 ใน Template ส่วน DIR ให้ใส่ คำสั่งนี้ลงไป
import os
Template [os.path.join(BASE_DIR, 'templates')],
** กรณีนี้ มันจะไม่รู้จัก os ต้องใช้คำสั่ง import os ด้านบนด้วย
4.3 แก้เป็นภาษาไทย
LANGUAGE_CODE = 'TH-th'
TIME_ZONE = 'Asia/Bangkok'
4.4 ตั้งโฟลเดอร์ Static
STATIC_URL = 'static/'
STATIC_ROOT = "static/"
กรณี หาไฟล์ Static ไม่เจอให้ใช้คำสั่ง
$ python manage.py collectstatic
คือ มันจะรวบรวม Static ในทุก app ไปไว้ที่ static_root
4.5 ตั้งค่า Folder สำหรับ Media (กรณี มีการให้อัพโหลด.
MEDIA_ROOT = 'D:\\django_projects\\django_file_sharing\\dj_file_sharing\\main\\media'
MEDIA_URL = 'media/'
4.6 กรณี เชื่อมต่อ Database เป็น PostgreSQL (สร้าง Database ใน ProsgreSQL มาให้เรียบร้อยก่อน) และ
pip install psycopg2 ให้เรียบร้อยก่อน
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'your_db_name', *******
'USER': 'postgres',
'PASSWORD': 'your_db_password', ****
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
** เกี่ยวกับ ไฟล์ Setting นี้เราสามารถสร้าง Folder ชื่อ setting แล้ว เอาไฟล์ setting ย้ายไปวางได้ แต่ต้องมีไฟล์เปล่า ชื่อ __int__.py ไปวางไว้ด้วย และต้องไป Config ใน manage.py ให้ไปรัน แทนที่ ชื่อแอป.setting เป็น ชื่อแอป.setting.setting อีกที
5. ถัดมาเรา Test ด้วยการพิมพ์ python manage.py runserver แล้วเอา IP ที่ได้มาไปเปิดใน Browser อีกที
แต่ยังไม่จบ เราต้อง migrate อีก เราต้องกด Control+C เพื่อออกจาก Server Mode
6. แล้วพิพม์ python manage.py migrate อีกที (เป็นการเชื่อมต่อ Database ถ้าไม่ทำ จะสร้าง superuser ใน Step ถัดไปไม่ได้)
7. ต่อมาสร้าง Super User ด้วยคำสั่ง python manage.py createsuperuser (มันจะให้กรอก Login Email Password)
เมื่อสร้างเสร็จ จะเข้าหน้า /admin ได้แล้ว และจะมี User 1 คนแล้ว
แต่ถ้าจะเอาให้จบ ต้อง สร้าง โฟลเดอร์ Template ไว้ใน App ด้วย
8. ตรวจสอบว่า ลง Package อะไรไปแล้วบ้าง ด้วยคำสั่ง (เวลาย้ายเครื่องจะได้ลงตามนั้น)
pip freeze
โครงสร้างโฟลเดอร์และไฟล์ต่างๆ
เมื่อสร้าง Project และ App 1 ตัวสำเร็จ โครงร่างของโฟลเดอร์จะประมาณนี้ (สังเกตว่า Template จะมี 2 ที่ คือ ตรง app_name/templates/app_name/ ของตัวลูก และ Project_name/templates สำหรับของไฟล์ base
project_name/
app_name/
templates/
app_name/
template_file.html
project_name/
settings.py
templates/
base.html
static/
css/
js/
img/
(Project Name >>1. Project_Name + 2. app_Name + 3. Template(Base.html) + 4. Static
File ของ Project
Folder ที่เก็บไฟล์ของ Project จะอยู่ที่ Project_Name>> Project_Name จะประกอบไปด้วยไฟล์ ดังนี้
1. manage.py สำหรับเก็บ Script ต่างๆ เช่น runserver makesuepruser makemigration migrate
2.__int__.py เป็นที่เก็บ Package ต่างๆ
3. setting.py สำหรับตั้งค่าต่างๆ ของโปรเจ็ค
4. urls.py เป็นไฟล์สำหรับจับคู่ urls กับ View (จะอธิบายในตอนหลัง)
5. wsgi.py เป็นไฟล์สำหรับใช้ Deploy หรือ Production
9.APP
เริ่มต้นเราจะสร้าง app ชื่อ name ด้วยคำสั่ง
python manage.py startapp members
ถึงตรงนี้ Django จะสร้าง โฟลเดอร์ใน Project ชื่อ name ดังนี้
my_tennis_club
manage.py
my_tennis_club/
members/
migrations/
__init__.py
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
จะเห็นว่า ถึงตรงนี้ เราจะมีไฟล์ ทั้งหมดเรียบร้อยที่กล่าวไว้ก่อนหน้านี้เรียบร้อยแล้ว
บทถัดไป เราจะเริ่มต้นเรียนรู้ ไฟล์ต่างๆ เหล่านี้
ความคิดเห็น
แสดงความคิดเห็น