Django视图定义,URL映射

2020-03-25  本文已影响0人  达闻西_

视图

一般写在app的views.py中,并且视图的第一参数永远都是request(一个HttpRequest对象),这个对象存储了请求过来的所有信息,包括携带的参数,以及一些头部信息。在视图中一般是完成逻辑相关的操作,比如请求添加一篇博客,那么可以通过request来接收这些数据,然后存储到数据库中,最后把执行结果返回给浏览器,返回必须是httpResponseBase对象或者子类的对象

from django.http import HttpResponse

def book_list(request):
    return HttpResponse("书籍列表")
# urls.py
path('book/', views.book_list)

视图函数

URL映射

# URL中添加参数
from book import views

def index(request):
    return HttpResponse("图书首页")

path('', index) # 首页
path('book/<book_id>', vies.book_detail) 
path('book', views.book)
python manage.py startapp book
# views.py
from django.http import HttpResponse

def book(request):
    return HttpResponse("图书首页")

def book_detail(request, book_id):
    # 可以从数据库中提取book_id这个图书的信息
    text = "您图书的id是 %s" % book_id
    return HttpResponse(text)

URL传参数

path('book/author/', views.author_detail)
def author_detail(request):
    author_id = request.GET.get('id')
    text = "作者的id是: %s" % author_id
    return HttpResponse(text)

127.0.0.1:8000/book/author/?id=1

因为查询字符串使用的是GET请求,所以我们通过request.GET来获取参数,并且因为GET是一个类似于字典的数据类型,所以取值和字典的方式一样

上一篇下一篇

猜你喜欢

热点阅读