ที่ใช้คือ ใช้เวลาน้อย, ใช้ code น้อย, ง่ายต่อการพัฒนา และปลอดภัย ต่อมา เราต้องสร้างโปร
เจคขึ้นมาก่อน โดยใช้คำสั่ง ลงใน command line จาก คำสั่งด้านล่าง จะเป็นการสร้าง โปรเจค
ที่ชื่อ tutoProject
django-admin startproject tutoProject
ซึ่งเราจะได้ เป็น folder แบบนี้
tutoProject
- manage.py
- tutoProject
- __init__.py
- settings.py
- urls.py
- wsgi.py
2.ต่อมา เราจึงจะสร้าง เป็น app โดยการใช้คำสั่ง
python3 manage.py startapp ManMon
จะเป็นการสร้างแอพที่ชื่อ ManMon (ในส่วนนี้แล้วแต่คนตั้งนะครับ) จะได้เป็นไฟล์ตามนี้
ManMon
- __init__.py
- apps.py
- admin.py
- model.py
- test.py
- view.py
- migration
- __init__.py
3. ในไฟล์ view.py นั้นจะเป็นส่วนที่เอาไว้เก็บ method ทั้งหมดที่เราจะใช้ใน appplication เพราะ
ฉะนั้น method แรกของเรานั่นคือ callMainPage
ManMon
- __init__.py
- apps.py
- admin.py
- model.py
- test.py
- view.py
- migration
- __init__.py
3. ในไฟล์ view.py นั้นจะเป็นส่วนที่เอาไว้เก็บ method ทั้งหมดที่เราจะใช้ใน appplication เพราะ
ฉะนั้น method แรกของเรานั่นคือ callMainPage
4.หลังจากนั้น เราก็เพิ่ม ManMon/url.py แล้วใส่โค้ดด้านล่างfrom django.shortcuts import render from django.http import HttpResponse def callMainPage(request): return HttpResponse("Hello, this is ManMon app")
เพื่อให้เป็นการเรียกใช้ หน้าแรกของ app ตาม pattern regular expression และเรียกใช้ methodfrom django.conf.urls import url from . import views app_name = 'ManMon' urlpatterns = [ url(r'^$', views.callMainPage, name="callMainPage"), ]
นั้นๆทดสอบการแสดงหน้าเว็บโดยใช้
python3 manage.py runserver
จะได้ขึ้นเป็นหน้าที่บอกว่า
Hello, this is ManMon app
5.จากนั้นเราก็เข้าไปใน tutoProject/ManMon/model.py เพื่อสร้าง ส่วนที่ไว้เพื่อเก็บข้อมูล ดังนี้
class Account(models.Model): note = models.CharField(max_length=200) money = models.FloatField(default=0) type_note = models.CharField(max_length=200, default='salary')
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.pub_date
def __str__(self):
return self.type_note
def __flo__(self):
return self.money
def __str__(self): return self.note
class TypeIncome(models.Model):
type_income = models.CharField(max_length=200)
def __str__(self):
return self.type_income
Account - ใช้เก็บข้อมูลรายรับและรายจ่ายของผู้ใช้ ซึ่งจะมี attribute ดังนี้class TypePayment(models.Model): type_payment = models.CharField(max_length=200) def __str__(self): return self.type_payment
- note = ใช้เก็บรายละเอียดของรายการนั้น(string)
- money = ใช้เก็บค่าจำนวนเงินของรายการ(float)
- type_note = ใช้เก็บประเภทของรายการ(string)
- pub_date = ใช้เก็บเวลาและวันที่(string)
TypeIncome - ใช้เก็บประเภทรายรับมี attribute ดังนี้
- type_income = ใช้เก็บประเภทของรายรับ(string)
TypePayment - ใช้เก็บประเภทของรายจ่ายมี attribute ดังนี้
- type_payment = ใช้เก็บประเภทของรายจ่าย(string)
5.เราจะต้องบอกกับ โปรเจคหลักว่า เรามี แอพนี้แล้ว โดยที่มันจะไปอ้างอิงเอา class จากใน
application อย่างแรก เราจะเข้าไปในไฟล์ tutoProject/tutoProject/settings.py จากนั้น เราจึงจะ
เจอกับบรรทัดที่เขียนว่า INSTALLED_APPS แล้วจึงจะเพิ่มโค้ดด้านล่างลงไป
'ManMon.apps.ManMon',
จากนั้นก็ใช้คำสั่ง
python3 manage.py makemigrations ManMon python3 manage.py sqlmigrate ManMon 0001 python3 manage.py migrate
เพื่อที่จะอัพเดตของมูลใน database ว่ามีอะไรใน model.py ที่เปลี่ยนไปบ้าง
python3 manage.py makemigrations ManMon python3 manage.py sqlmigrate ManMon 0001 python3 manage.py migrate
5. ในขั้นตอนนี้ เราจะมาทดลอง เก็บข้อมูล
อย่างแรก เรามาเปิด API ใน Django โดยใช้คำสั่ง
python3 manage.py shell
ต่อมาก็
ในขั้นตอนต่อไป เราจะได้เห็นข้อมูลที่เราใส่ลงไป>>> from polls.models import Account,TypeIncome, TypePayment >>> from django.utils import timezone
>>> ac = Account(note = "ได้เงิน", money = 100, type_note =
"saving", pub_date=timezone.now())
>>> ti = TypeIncome(type_income = "saving")>>> ti.save()
>>> tp = TypePayment(type_payment = "food")
>>> tp.save()
6.เราจำเป็นที่จะต้องมี admin ที่จะจัดการกับข้อมูลที่เข้ามา จะสามารถสร้าง admin ได้โดย
ไม่มีความคิดเห็น:
แสดงความคิดเห็น