🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 简介 在django中,通过浏览器去请求一个页面时,使用视图函数来处理这个请求的,视图函数处理之后,要给浏览器返回页面内容 创建模板文件夹 ![](https://box.kancloud.cn/5492a8095efbe94010b8eca2c40b15c1_288x296.png) 然后在setting.py中写上模板文件的路径 ![](https://box.kancloud.cn/75fe3173f918289d295387e07554c79b_1352x344.png) 在对应项目的views.py中写 ~~~ from django.shortcuts import render from django.http import HttpResponse from django.template import loader, RequestContext # Create your views here. # 定义视图函数,HttpRequest # 1. http://127.0.0.1:8000/index # 2. 进行url配置,建立url地址和视图的对应关系 def index(request): # 使用模板文件 # 加载模板文件,模板对象 temp = loader.get_template('booktest/index.html') # 模板渲染:产生标准的html内容 res_html = temp.render({'content' : 'hello', 'list' : list(range(1,10))}) # 返回浏览器 return HttpResponse(res_html) ~~~ 重定向 ~~~ from django.shortcuts import render, redirect from django.http import HttpResponse, HttpResponseRedirect ~~~ ~~~ # return HttpResponseRedirect('/index') return redirect('/index') ~~~ 然后在对应模板下面创建index.html ~~~ <!doctype html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>booktest</title> </head> <body> booktest <h1>使用模板变量</h1> {{ content }} <br /> <h1>使用列表</h1><br /> {{ list }} <br /> {% for i in list %} {{ i }} <br /> {% endfor %} </body> </html> ~~~ # url传参数 urls.php 这边的数字正则要用()括起来 ~~~ urlpatterns = [ # 通过url函数设置url路由配置项 url(r'^index$', views.index), # 建立和视图关联 # 输入书的id显示英雄信息 url(r'^book/(\d+)$', views.detail) ] ~~~ views.php ~~~ def detail(request, bid): '''查询图书关联英雄信息''' # 1. 根据bid查询图书信息 book = BookInfo.objects.get(id = bid) # 2. 查询和book关联的英雄信息 heros = book.heroinfo_set.all() # 3. 使用模板 return render(request, 'booktest/detail.html', {'book' : book, 'heros' : heros}) ~~~ detail.html ~~~ <h1>{{ book.btitle }}</h1> 英雄信息如下: <br /> <ul> {% for hero in heros %} <li>{{ hero.hname }} --- {{ hero.hcomment }}</li> {% empty %} <li>没有英雄信息</li> {% endfor %} </ul> ~~~