视图一般都写在app的view.py中,并且视图的第一个参数永远是request,视图的返回值必须是HttpResponseBase对象或子类的对象
创建一个app:python manage.py startapp appname
views.py视图函数如下
from django.http import HttpResponse# Create your views here.def book(request): ???return HttpResponse(‘图书首页‘)def book_detail(request,book_catagory,book_id): #这两个参数的名字要与url.py中的参数名称一致 ???text=‘您获取的图书种类是%s,id是%s‘%(book_catagory,book_id) ???return HttpResponse(text)def author(request): ???author_name=request.GET.get(‘id‘)#通过request.GET.get获取输入的参数 ???text = ‘您获取的图书id是%s‘%author_name ???return HttpResponse(text)
对应项目的url.py如下
from django.http import HttpResponsefrom book import views ?#需要引入book项目的视图def index(request): ???return HttpResponse(‘首页‘)urlpatterns = [ ???path(‘‘, index), ???#定义输入参数为空的返回情况 ???path(‘admin/‘, admin.site.urls), ???path(‘book/‘,views.book), ???path(‘book/<book_catagory>/<book_id>‘,views.book_detail),#尖括号表示可以在浏览器中传入的参数 ???path(‘book/author/‘,views.author)]
以上,如果调用book_detail,可在浏览器中输入http://127.0.0.1:8000/book/health/3
以上,如果调用author,可以再浏览器中输入http://127.0.0.1:8000/book/author/?author=libai
url分发器
原文地址:https://www.cnblogs.com/Forever77/p/10121687.html