项目完成
基本知识点都学完了,接下来做一个简单的项目
现在需要的代码包括三个方面,三个方面顺序不分先后
- 1.定义视图
- 2.定义URL
- 3.定义模板
定义视图
编写views.py文件:
from django.shortcuts import render
from booktest.models import BookInfo
def index(request):
"""显示图书信息"""
# 1.查询出所有图书的信息
books = BookInfo.objects.all()
# 2.使用模板
return render(request, 'booktest/index.html', {"books": books})
def detail(reqeust, bid):
# 1.根据图书编号对应图书查询
book = BookInfo.objects.get(id=int(bid))
# 2.查找book图书中的所有角色信息
heros = book.heroinfo_set.all()
# 3.返回模板
return render(reqeust, 'booktest/detail.html', {'book':book,'heros':heros})
定义URL
编写urls.py文件:
from django.conf.urls import url
# 导入视图模块
from booktest import views
urlpatterns = [
url(r'^index$', views.index), # 配置首页url
url(r'^detail(\d+)/$',views.detail), # 配置详细页url
]
定义模板
编写index.html文件:
<html>
<head>
<title>首页</title>
</head>
<body>
<h1>图书列表</h1>
<ul>
{# 遍历图书 #}
{% for book in booklist %}
<li>
{# 显示图书名称,并设置相应链接 #}
<a href="/detail{{ book.id }}/">{{ book.btitle }}</a>
</li>
{% endfor %}
</ul>
</body>
</html>
编写detail.html文件:
<html>
<head>
<title>详细页</title>
</head>
<body>
{# 显示图书标题 #}
<h1>{{ book.btitle }}</h1>
<ul>
{# 遍历本图书的所有英雄 #}
{% for hero in heros %}
{# 角色的姓名及描述 #}
<li>{{ hero.hname }}---{{ hero.hcomment }}</li>
{% endfor %}
</ul>
</body>
</html>
总结
- 安装配置django运行的环境
- 编写模型,使用API与数据库交互
- 使用django的后台管理管理数据
- 通过视图接收请求,通过模型获取数据
- 调用模板完成展示
我们已经学习了Django的入门,复习一下之前学过的知识,接下来我们要深入学习每一个模块的内容