Django简易图书管理系统
一丶配置
创建app01
# 1.在具有manage.py文件的目录下,启动cmd,创建一个新的app01
python manage.py startapp app01
# 2.在settings配置文件中对 app01进行注册
INSTALLED_APPS=[
'app01.apps.App01Config',
]
# 额外:创建整个项目时,创建新的app,pycharm会默认帮你注册 . 若是cmd创建,需要手动注册
静态文件配置:
# settings文件,配置静态资源
STATIC_URL = '/static/' # 固定写法: 映射关系,从项目中引入静态资源是通过/static/开头
STATICFILES_DIRS=[ # 固定写法: 项目文件夹下创建一个static文件夹'存放'静态资源.
os.path.join(BASE_DIR,'static')
]
数据库配置:
# settings文件,配置数据库 (使用的是mysql数据库,库需要先创建好)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'day55_bookmgsystec', # 数据库名
'USER': 'XXX', # 用户
'PASSWORD': 'XXX', # 密码
'HOST': '127.0.0.1', # ip地址
'PORT': 3306, # 端口
}
}
# 由于使用的是mysql数据库.python3需要使用pymysql去连接数据库.默认提供的数据库连接不支持mysql
# 1.在与项目同名的文件夹下 ,找到__init__.py文件
# 2.编写连接代码
import pymysql
pymysql.install_as_MySQLdb() # 连接mysql数据库
额外:
# 在settings文件中找到下面的句子注释掉. post提交数据时需要进行校验
'django.middleware.csrf.CsrfViewMiddleware',
二丶数据库编写
使用orm操作数据库:
# 1.找到app01下的 models.py文件. 创建表和字段
class Pub(models.Model): # Pub 类名 等同于 表名
pid=models.AutoField(primary_key=True) # pid 类的属性 等同于 表的字段(AutoFiled:自增)
pname=models.CharField(max_length=32,unique=True) # pname 同理
数据迁移
# 1.在models.py文件已经编写好了表的信息. 需要把信息同步到数据库
# 2.启动Terminal窗口执行两条命令
# 检查models.py文件是否进行了变更,并记录.会在migrations文件夹下创建一个变更记录文件
python manage.py makemigrations
# 将在migrations文件夹下创建一个变更记录文件,同步到数据库
python manage.py migrate
三丶路由关系
查看
# 1.在url.py穿件一个请求和函数的对应关系
from django.conf.urls import url
from django.contrib import admin
from app01 import views # 导入app01
urlpatterns = [
url(r'^publisher_list/', views.publisher_list),
]
# 2.在app01下的views.py文件中编写函数
from app01 import models # 导入 models文件,使用orm操作数据库
# 查询列表
def publisher_list(request):
# 查询全部的内容, 按照pid排序
all_pub = models.Pub.objects.all().order_by('pid')
# 返回一个页面,并把数据传到页面
return render(request, 'publisher_list.html', {'all_pub': all_pub})
<!-- publisher_list.html -->