1.创建一个app
DE:Pycharm 于Terminal中输入: python manage.py startapp XXX (XXX为项目名称)
此时Python会创建XXX目录,
包含: migrations: 数据库修改表结构产生数据
admin:Django提供的后台管理页
apps:配置当前app
modules:ORM,写制定类,创建数据库表
tests:单元测试
views:业务代码
2.配置静态文件目录static
于项目同名目录下settings文件末尾追加(注意末尾逗号-,):
STATICFILES_DIRS=(
os.path.join(BASE_DIR,‘static‘),
)
3.配置数据库
若想将模型转为mysql数据库中的表,需要在settings中配置:
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘:‘bms‘, # 要连接的数据库,连接前需要创建好
‘USER‘:‘root‘, # 连接数据库的用户名
‘PASSWORD‘:‘‘, # 连接数据库的密码
‘HOST‘:‘127.0.0.1‘, # 连接主机,默认本级
‘PORT‘:3306 # 端口 默认3306
}
}
注意1:NAME即数据库的名字,在mysql连接前该数据库必须已经创建,而上面的sqlite数据库下的db.sqlite3则是项目自动创建 USER和PASSWORD分别是数据库的用户名和密码。设置完后,再启动我们的Django项目前,我们需要激活我们的mysql。然后,启动项目,会报错:no module named MySQLdb 。这是因为django默认你导入的驱动是MySQLdb,可是MySQLdb 对于py3有很大问题,所以我们需要的驱动是PyMySQL 所以,我们只需要找到项目名文件下的__init__,在里面写入:
import pymysql pymysql.install_as_MySQLdb()
最后通过两条数据库迁移命令即可在指定的数据库中创建表 :
python manage.py makemigrations
python manage.py migrate
注意2:确保配置文件中的INSTALLED_APPS中写入我们创建的app名称
INSTALLED_APPS = [
‘django.contrib.admin‘,
‘django.contrib.auth‘,
‘django.contrib.contenttypes‘,
‘django.contrib.sessions‘,
‘django.contrib.messages‘,
‘django.contrib.staticfiles‘,
"book"
]
注意4: 如果想打印orm转换过程中的sql,需要在settings中进行如下配置:
LOGGING = {
‘version‘: 1,
‘disable_existing_loggers‘: False,
‘handlers‘: {
‘console‘:{
‘level‘:‘DEBUG‘,
‘class‘:‘logging.StreamHandler‘,
},
},
‘loggers‘: {
‘django.db.backends‘: {
‘handlers‘: [‘console‘],
‘propagate‘: True,
‘level‘:‘DEBUG‘,
},
}
原文:https://www.cnblogs.com/hao-guo/p/12624864.html