使用Django制作一个图书管理系统(6)
图书列表
1.添加路由
代码如下:
path("book_list/",views.book_list),
2.添加图书model.py
我们要将数据存到数据库中,但是在之前我们只写了一个出版社数据库,现在我们要添加一个数据库。
代码如下:
class Book(models.Model):
id = models.AutoField(primary_key=True)
name =models.CharField(max_length=32)
price = models.DecimalField(max_digits=5,decimal_places=2,default=10.01)
inventory=models.IntegerField(verbose_name="库存数")
sale_num = models.IntegerField(verbose_name="卖出数")
publisher=models.ForeignKey(to="Publisher", on_delete=models.CASCADE)
在model.py中,写完后一定要记得迁移数据库
代码如下:
python manage.py makemigrations
迁移后写入
python manage.py migrate
3.views.py
代码如下:
def book_list(request):
book_obj_list =models.Book.objects.all()#数据库中爬取所有数据
return render(request,"book_list.html",{"book_obj_list":book_obj_list})#返回页面
4.HTML
<a href="/app01/add_book/">新增图书</a>
<table border="1" >
<thead>
<tr>
<th>序号</th>
<th>图书id</th>
<th>图书名称</th>
<th>价格</th>
<th>库存</th>
<th>卖出数</th>
<th>出版社</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{% for book_obj in book_obj_list %}
<tr>
<td>{{forloop.counter }}</td>
<td>{{book_obj.id }}</td>
<td>{{book_obj.name }}</td>
<td>{{book_obj.price }}</td>
<td>{{book_obj.inventory }}</td>
<td>{{book_obj.sale_num }}</td>
<td>{{book_obj.publisher.name }}</td>
<td>
<a href="/app01/edit_book/?id={{ book_obj.id }}">修改</a>
<a href="/app01/delete_book/?id={{ book_obj.id }}">删除</a>
</td>
</tr>
</table>