视图一般都写在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