1. 程式人生 > >Django(三)url和返回

Django(三)url和返回

ssa 不能 har 我們 utf message blog views ack

location 最後一個文件夾名就是project名,我用了Django_Plan。

Application 是自動加入的APP名字,我用了Plan

編輯Django_Plan\Django_Plan\urls.py

from django.contrib import admin
from django.urls import path
from Plan import views

urlpatterns = [
path(‘admin/‘, admin.site.urls),
path(‘plan‘, views.plan) #此行為增加的
]

編輯Django_Plan\Plan\views.py

from django.shortcuts import render
from django.shortcuts import HttpResponse  #此行增加
# Create your views here.
def plan(request):                   #此函數增加
    return HttpResponse(hello)

好了,我們增加了一個url解析,解析到plan函數,進行http返回給瀏覽器。

試一下,瀏覽器http://localhost:8000/plan,會看到hello。用的是HttpResponse函數。

平時訪問的頁面那麽多內容,我們不能都寫在HttpResponse中呀。

我們用模板吧。

建立一個hello.html文件放在Django_Plan\templates\hello.html

內容為:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
<h1>hello</h1>    
</body>
</html>

編輯Django_Plan\Plan\views.py

from django.shortcuts import render
from django.shortcuts import HttpResponse  #此行增加
# Create your views here.
def plan(request):                   #此函數增加
    return render(request,hello.html)

檢查Django_Plan\Django_Plan\settings.py(難道我用最新的django2.0,pycharm就不自動創建了?)

TEMPLATES = [
    {
        BACKEND: django.template.backends.django.DjangoTemplates,
        DIRS: [os.path.join(BASE_DIR,templates)],    #註意此行
        APP_DIRS: True,
        OPTIONS: {
            context_processors: [
                django.template.context_processors.debug,
                django.template.context_processors.request,
                django.contrib.auth.context_processors.auth,
                django.contrib.messages.context_processors.messages,
            ],
        },
    },
]

好了,這下瀏覽器返回的就是我們的模板文件內容,h1格式的hello

我們還需要動態生成頁面,繼續編輯hello.html,給輸出的hello加上兩個大括號

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
<h1>{{ hello }}</h1>
</body>
</html>

編輯Django_Plan\Plan\views.py

from django.shortcuts import render
from django.shortcuts import HttpResponse  #此行增加
# Create your views here.
def plan(request):                   #此函數增加
    return render(request,hello.html,{hello:hello jack})

這裏就是在render的參數中又加了一個字典,把hello換成hello jack,再返回給客戶端瀏覽器。

打開頁面試試吧。

Django(三)url和返回