本文实例讲述了Django框架搭建的简易图书信息网站。分享给大家供大家参考,具体如下:
创建Django项目,将数据库改为mysql,修改项目的urls.py文件
创建一个新应用,在应用里创建urls.py文件。
在应用的models.py里建表
from django.db import models
# Create your models here.
#一类
class BookInfo(models.Model):
btitle=models.CharField(max_length=20)#图书名称
bpub_date=models.DateField()#出版日期
bread=models.IntegerField(default=0)#阅读量,默认为0
bcomment=models.IntegerField(default=0)#评论量
isDlete=models.BooleanField(default=False)#逻辑删除,默认不删除
#多类
class HeroInfo(models.Model):
hname=models.CharField(max_length=20)
hgender=models.BooleanField(default=False)
hcomment=models.CharField(max_length=200)
#定义一个关系属性
hbook=models.ForeignKey('BookInfo')
isDlete = models.BooleanField(default=False) # 逻辑删除,默认不删除
首页index.html查询所有图书信息,在views.py里完善index函数。
def index(request):
# 1.查询出所有图书的信息
books = BookInfo.objects.all()
# 2.使用模板
return render(request, 'booktest/index.html', {'books': books})
在template文件夹下的booketest文件夹下新建index.html文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图书信息</title>
</head>
<body>
<a href="/create" rel="external nofollow" >新增</a>
<ul>
{% for book in books %}
<li><a href="/books{{ book.id }}" rel="external nofollow" >{{ book.btitle }}</a><a href="/delete{{ book.id }}" rel="external nofollow" >_删除</a></li>
{% endfor %}
</ul>
</body>
</html>
index.html里有一个create新增按钮,去view.py里添加create处理函数
def create(request):
'''新增一本图书'''
# 1.创建一个bookinfo对象
b = BookInfo()
b.btitle = '流星蝴蝶剑'
b.bpub_date = date(1990, 1, 1)
# 2.保存进数据库
b.save()
# 3.返回应答
# return HttpResponse('ok')
# 让浏览器返回首页
return HttpResponseRedirect('/index')
数据库里添加上之后,重定向到首页index。
应用的urls.py文件里要写url(r'^create$',views.create),才能正确的跳转到create处理函数。
一个显示书里人物的details.html,从index.html用book.id去寻找书的数据。
去views.py写details处理函数
def details(request,bid):
book=BookInfo.objects.get(id=bid)
heros=book.heroinfo_set.all()
return render(request,'booktest/details.html',{'book':book,'heros':heros})
新建details.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{book.btitle}}</h1>
英雄信息:
<br/>
<ul>
{% for hero in heros %}
<li>{{hero.hname}}--{{hero.hcomment}}</li>
{% empty %}
没有英雄信息
{% endfor %}
</ul>
</body>
</html>
去应用的urls.py里把url地址和视图处理函数对应上
url(r'^books(\d+)$',views.details)
这里的(\d+)是需要传参到details视图处理函数。
github:https://github.com/zhangyuespec/Django
希望本文所述对大家基于Django框架的Python程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。