一、Django项目结构和基础知识
1.一般的项目结构
文件名 | 功能 |
---|---|
apps | 文件夹存放app |
extra_apps | 存放第三方源码 |
media | 存放用户上传图片等 |
static | 存放静态的文件 |
templates | 存放html文件 |
requirements | 存放项目声明 |
具体如图:
2.项目静态路径配置
在setting.py中配置如下
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
3.配置html页面的步骤
配置一个html页面显示的步骤
①.配置url
②.配置对应的views逻辑
③.拆分css,js,images放入到static,html放入到template之下
#可以放到对应app下
#也可以放入到全局的tempate和static目录之下
④.配置全局的static文件访问路径的配置STATICFILES_DIRS
4.数据库配置
使用MySQL数据库时,配置方法如下:
①.使用navicat连接MySQL数据库,新建数据库,选择utf-8编码和uft-general-ci
如图:
②. 默认是dbsqlite数据库,配置MySQL方法如下:
在setting.py中
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'day8_8',#数据库名字
'USER':'root',#用户名
'PASSWORD':'root',#密码
'HOST':'127.0.0.1',#ip地址
}
}
运行报错:LookupError: No installed app with label 'admin'.
原因:未安装MySQL驱动
解决方法如下:
①:进入mysqlclient下载
②:下载对应版本的安装包,python3.7(64.bit)选择mysqlclient‑1.4.6‑cp37‑cp37m‑win_amd64.whl
③:cmd安装:
C:\Users\admin>cd G:\edge_download_file
C:\Users\admin>g:
G:\edge_download_file>pip install mysqlclient-1.4.6-cp37-cp37m-win_amd64.whl
Processing g:\edge_download_file\mysqlclient-1.4.6-cp37-cp37m-win_amd64.whl
Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.4.6
安装成功,再运行不再报错
如果使用 SQLite,则不需要添加一些额外设置,比如 USER 、 PASSWORD 、 HOST 等等