index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> <!--style中的两行使得列表横向显示,并且去掉了前面的·标识--> .nav{overflow:hidden} .nav li{float:left;list-style:none;margin:0 20px; } </style> </head> <body> <ul class=\'nav\'> <li><a href=\'/\'>首页</a> </li> <li><a href={% url \'book\' %}>读书</a></li> <li><a href={% url \'movie\' %}>电影</a></li> <li><a href={% url \'city\' %}>同城</a></li> <li><a href={% url \'detail\' book_id=8 catagory=\'health\' %}>最火的文章</a></li> <li><a href={% url \'login\' %}?next=/>登录</a></li><!--注意参数传递的?next与前面没有空格--> </ul> </body> </html>
urls.py
注意在views.py中使用{% url \'xxx\' %}标签时时,xxx指的是url名称,需要在urls.py中通过name指定url名称。
from . import views urlpatterns = [ path(\'admin/\', admin.site.urls), path(\'\',views.index,name=\'index\'), path(\'book\',views.book,name=\'book\'), path(\'movie\',views.movie,name=\'movie\'), path(\'city\',views.city,name=\'city\'), path(\'book/book_detail/<book_id>/<catagory>\',views.book_detail,name=\'detail\'), path(\'login/\',views.login,name=\'login\') ]
views.py
from django.shortcuts import render from django.http import HttpResponse def index(request): context={} return render(request,\'index.html\',context=context) def login(request): next=request.GET.get(\'next\') text=\'登录页面,登录完成后要跳转的url是%s\'%next return HttpResponse(text) def book(request): return HttpResponse(\'读书页面\') def book_detail(request,book_id,catagory): text=\'您获取的图书id是%s,分类是%s\'%(book_id,catagory) return HttpResponse(text) def movie(request): return HttpResponse(\'电影页面\') def city(request): return HttpResponse(\'同城页面\')
页面效果
每一个列表同时又是链接,点击可跳转到对应的页面。