标签:问题 file sha 用户名 sts ati mysql连接 debug module
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‘, }, }
标签:问题 file sha 用户名 sts ati mysql连接 debug module
原文地址:https://www.cnblogs.com/hao-guo/p/12624864.html