05- views视图层

 

1、配置index

主url

from django.contrib import admin
from django.urls import path, re_path, include


urlpatterns = [
    path('admin/', admin.site.urls),
    re_path(r'^app01/', include(('app01.urls', 'app01'))),
]

 

app01 的url

from django.urls import path, re_path, include

from app01 import views

urlpatterns = [
    re_path(r'^index/$', views.index, name='index')
]

 

 

views

from django.shortcuts import render, HttpResponse

def index(request):

    return HttpResponse('<h1>app01 index</h1>')

 

 

 

2、get post方法

 

view.py

def login(request):
    print('method:', request.method)

    return render(request, 'login.html')
    # render方法的本质是渲染html, 然后调用HttpResponse 返回字符串

 

 

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{#<form action="http://127.0.0.1:8000/app01/login/" method="post">#}
{#<form action="" method="post">   不写的话,默认当前目录 #}
<form action="/app01/login/" method="post">
    username <input type="text" name="user">
    password <input type="text" name="pwd">
    <input type="submit">
</form>

</body>
</html>

 

 

 

 

 

 

4 .request属性   

"""
     http://127.0.0.1:8000/app01/login/?year=2003&month=08
url: 协议://IP:port      /路径         ?get请求数据
"""

  

 

def login(request):
    print('method:', request.method)

    print(request.GET)  # 打印get方法传过来的数据
    print(request.POST)  # 打印post方法data

    print(request.GET.get('year'))      # dict的get方法
    print(request.POST.get('user'))  # dict的get方法

    print(request.path)  # 打印路径

    print(request.get_full_path())  # 返回 path,如果可以将加上查询字符串。


    return render(request, 'login.html')
    # render方法的本质是渲染html, 然后调用HttpResponse 返回字符串

 

 

 

 

 

 

 

 

 

 

 

 

 6、视图响应对象

 

HttpResponse

from django.shortcuts import render, HttpResponse

def index(request):


    return HttpResponse('<h1>app01 index</h1>')

 

 

 

render

url

 

 

 

 

 

 

 

 

 

   

 

posted @ 2018-06-29 17:23  venicid  阅读(164)  评论(0编辑  收藏  举报