zoukankan      html  css  js  c++  java
  • Django(三)url和返回

    location 最后一个文件夹名就是project名,我用了Django_Plan。

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

    编辑Django_PlanDjango_Planurls.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_PlanPlanviews.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 emplateshello.html

    内容为:

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

    编辑Django_PlanPlanviews.py

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

    检查Django_PlanDjango_Plansettings.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_PlanPlanviews.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,再返回给客户端浏览器。

    打开页面试试吧。

  • 相关阅读:
    洛谷 P1194 飞扬的小鸟 题解
    洛谷 P1197 星球大战 题解
    洛谷 P1879 玉米田Corn Fields 题解
    洛谷 P2796 Facer的程序 题解
    洛谷 P2398 GCD SUM 题解
    洛谷 P2051 中国象棋 题解
    洛谷 P1472 奶牛家谱 Cow Pedigrees 题解
    洛谷 P1004 方格取数 题解
    洛谷 P2331 最大子矩阵 题解
    洛谷 P1073 最优贸易 题解
  • 原文地址:https://www.cnblogs.com/jackadam/p/8094093.html
Copyright © 2011-2022 走看看