วันจันทร์ที่ 7 มกราคม พ.ศ. 2562

[Django] views & urls




     urls 

คือ ไฟล์การตั้งค่าลิงค์(การเรียกใช้งาน)ของเว็บเพจใน Django โดยตรวจสอบจาก Regular Expression (^$)ของ url ที่อยู่ใน urlpatterns ที่นำมาใช้ match กับ URL ที่ผู้ใช้กรอกมาใน Web Browser


( url ที่กำหนดไว้ )


( url ที่ผู้ใช้งานกรอกลง web browser)


     views

คือ ไฟล์ที่กำหนดการแสดงผลลัพธ์บน webpage คอยควบคุมสิ่งที่รับมาจาก client web browser และควบคุมสิ่งที่จะตอบกลับไป เมื่อมีการร้องขอเข้ามา


ทดสอบการทำงาน

- สร้าง app hello
                 

แก้ไขหน้า views.py เป็น

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
       return HttpResponse("<h1>Hello World</h1>")  # return hello world to webpage

แก้ไขหน้า urls.py เป็น

from django.conf.urls import url
from . import views

urlpatterns = [
      url(r'^$',views.index),  #urls of app hello call to function index of views.py

      ]

และในส่วนของโปรเจค mysite  แก้ไขหน้า urls.py ดังนี้


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")),  #when call url/hello  it will call to hello.urls
       ]

เมื่อ runserver และ open web จะได้ผลลัพธ์ดังนี้



         ทดลองทำการเพิ่ม function ใน hello.views

from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponse


def one(request): #function 1
return HttpResponse("Hello every one")


def two(request): #function 2
return HttpResponse("one two three")


แก้ไข urls.py ใน app hello

from django.conf.urls import url
from . import views


urlpatterns = [
url(r'greeting/',views.one), # return Hello every one
url(r'contact/',views.two) # return one two three


]
และเมื่อเรียกใช้งานจะได้ผลลัพธ์ดังนี้

เรียกผ่าน /greeting
เรียกผ่าน /contact

ไม่มีความคิดเห็น:

แสดงความคิดเห็น