Django คือ Web
Framework ที่ใช้ภาษา Python
เพื่อเป็นตัวช่วยในการทำ
Web
Application โดยมีเครื่องมือช่วยในการจัดการที่หลากหลาย
สามารถปรับขนาดได้ และ มีความปลอดภัยในการใช้งาน
การติดตั้ง Django
ติดตั้งด้วยคำสั่ง python -m pip install django
การสร้างโปรเจค
>>Open
Command
>>django-admin
startproject
mysite
>>cd
mysite
>>python
manage.py runserver
>>open
link http://127.0.0.1:8000/
จากนั้นก็จะสามารถทำการสร้าง app ใหม่ลงในโปรเจคได้ด้วยคำสั่ง
py
manage.py startapp
ชื่อแอพลิเคชั่น
ก็จะได้โฟลเดอร์ใหม่มาอยู่ในโปรเจคของเรา โดยที่ใน 1 โปรเจคนั้นจะสร้างกี่แอพก็ได้ โดยข้อดีของแอพก็คือเมื่อสร้างแล้วสามารถคัดลอกโฟลเดอร์ไปใช้งานต่อในโปรเจคอื่นได้เลย
ทดลองสร้าง app ชื่อ hello
>> py manage.py startapp hello
เพิ่ม url ให้ app hello
- สร้างไฟล์ urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$',views.index),
]
- แก้ไขไฟล์ urls ใน project
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/', include("hello.urls")),
]
เราก็จะได้หน้า app hello ที่ต้องเรียกด้วย url/hello/
แก้ไขไฟล์ views
เพื่อให้ทำการแสดงหน้าต่างที่ต้องการ โดยการเพิ่มคำสั่งในไฟล์ views.py ใน app hello ให้ทำการคืนค่าหน้าที่แสดงตัวอักษร ดังนี้
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse("<h1>Hello World</h1>")
ซึ่งเมื่อเรา run http://127.0.0.1:8000/hello/ จะได้ผลลัพธ์ดังนี้
แต่ถ้าหากว่าเรารันด้วย http://127.0.0.1:8000/ จะได้ผลลัพธ์
เนื่องจากไม่ได้มีการกำหนด url ไว้ว่าค่าเริ่มต้นให้แสดงผลลัพธ์แบบใด ซึ่งสามารถกำหนดได้โดยการกำหนดใน urls.py ของโปรเจคให้เป็นดังนี้
จะเห็นได้ว่า เปลี่ยน url ที่เรียกไปยัง hello.urls จาก url(r'^hello/', include("hello.urls")) เป็น url(r'^$',include("hello.urls"))
เมื่อเปิดหน้าเว็บอีกครั้งผลลัพธ์จะเป็นดังนี้
urlpatterns = [
path(r'admin/', admin.site.urls),
url(r'^$',include("hello.urls")),
]
จะเห็นได้ว่า เปลี่ยน url ที่เรียกไปยัง hello.urls จาก url(r'^hello/', include("hello.urls")) เป็น url(r'^$',include("hello.urls"))
เมื่อเปิดหน้าเว็บอีกครั้งผลลัพธ์จะเป็นดังนี้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น