django模板-通过a标签生成链接并跳转
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('同城页面')
页面效果

每一个列表同时又是链接,点击可跳转到对应的页面。
