首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django从模型到后台到模板完整开发图书列表的简易案例

01 图书管理系统

创建虚拟环境

conda?create?--name?django4?python=3.11.7y

激活虚拟环境

conda?activate?django4

安装Django

pip?install?django==4.2.11

创建项目

django-admin?startproject?c02_library_project

启动项目

cd?.\c02_library_project\

python?manage.py?runserver

项目结构

__init__.py?是Python将目录视为包的一种方式;它是空的

settings.py?包含我们项目的所有配置

urls.py?控制顶层URL路由

wsgi.py?代表web服务器网关接口,帮助Django服务于最终的web页面

manage.py 执行各种Django命令,比如运行本地web服务器或创建一个新的应用程序。

同步数据库

python?manage.py?makemigrations

python?manage.py?migrate

创建第一个应用

python?manage.py?startapp?books

每个应用都会包含如下文件:

__init__.py

admin.py?是Django内置管理应用的配置文件

apps.py?是应用程序本身的配置文件吗

migrations/?目录存储数据库更改的迁移文件

models.py?是我们定义数据库模型的地方吗

tests.py?是为了我们的应用程序特定测试

views.py?我们在哪里处理我们的web应用程序的请求/响应逻辑

使用vscode打开项目

code?.

配置应用

应用创建好了以后,需要去settings.py中配置应用,这样才能够被Django识别到:

创建图书模型

在books/models.py中新增图书模型:

from?django.db?import?models

class?Book(models.Model):

"""图书模型"""

title?=?models.CharField(max_length=250)

subtitle?=?models.CharField(max_length=250)

author?=?models.CharField(max_length=100)

isbn=models.CharField(max_length=13)

def?__str__(self)?->?str:

return?self.title

创建完毕以后迁移模型:

python?manage.py?makemigrations

python?manage.py?migrate

创建系统管理员

python?manage.py?createsuperuser

将图书模型注册到后台

修改books/admin.py,将Book图书模型注册到后台:

登录后台

重启服务:

python?manage.py?runserver

登录后台:http://127.0.0.1:8000/admin

之后在后台中找到图书,新增基本图书。

列表视图

修改books/views.py,添加一个BookListView,用来展示图书列表:

配置路由

有了视图以后,还需要配置路由,先配置urls.py顶层路由:

接着,新增books/urls.py,配置应用路由:

from?django.urls?import?path,?include

from?.?import?views

app_name?=?'books'

urlpatterns?=?[

path("",?views.BookListView.as_view(),?name='list'),

]

添加模板代码

最后,我们新建books/templates/books/book_list.html,用来显示HTML代码。

<meta?charset="UTF-8">

<title>图书列表</title>

{%?for?book?in?object_list?%}

<ul>

<li>标题:{{ book.title }}</li>

<li>副标题:{{ book.subtitle }}</li>

<li>作者:{{ book.author }}</li>

<li>ISBN:{{ book.isbn }}</li>

</ul>

{%?endfor?%}

此时,重启服务,再次访问首页,就能够看到刚才在后台管理界面中添加的图书了。你可以多添加几本图书再试试。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Ogzq284l2TXqiuIpwCizGgrg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com