创建Django项目操作
文档目的:整理创建Django项目的基本操作,方便查阅
1. 准备工作
1.1 环境说明
- IDE: Pycharm Community[社区版,无法直接创建Django项目]
- Python 3.6 官方下载
- Django 2.2
pip install Django == 2.2.0
1.2 创建项目
#打开项目放置的文件夹,直接在路径栏输入cmd进入控制台
django-admin startproject project_name #创建项目命令
2. 配置项目
2.1 完善项目结构
1. 创建templates和static文件夹
setting配置:
- templates
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
- static
STATIC_URL = '/static/'
STATIC_ROOT = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static/'),
]
2.创建项目说明文档和依赖文档
- 创建readme.md或类似文档对项目进行说明
- 在控制台中进入项目根目录,或直接在pycharm控制台中
#生成依赖文件
pip freeze > requirements.txt
#加载依赖文件
pip install -r requirements.txt
- 说明:依赖文件可在项目进行一段时间后生成,方便其他使用者配置
3.创建测试文件夹
4.项目目录结构说明
project
--project
----static #静态文件和setting.py文件处于同一目录下
------img
------js
------css
--manage.py
--templates
--tests
--readme.md
--requirements.txt
注:根据个人需求创建,并不是参照了标准,仅供参考,欢迎交流
2.2 配置setting.py文件
1.连接数据库[MySQL]
- 修改setting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DB name',
'USER': 'user name',
'PASSWORD': 'user password',
'HOST': 'localhost',#连接本地数据库,远程可输入对应网址
'POST': '3306', #默认端口
}
}
- 修改__init__.py文件
添加
import pymysql
pymysql.install_as_MySQLdb()
- 下载并修改插件 pymysql
由于版本支持原因,会报如下错误:
mysql django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required
进入python安装路径…\Lib\site-packages\Django-2.0-py3.6.egg\django\db\backends\mysql,将文件
if version < (1, 3, 3):
raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
注释掉即可。
2.语言时区设置
#LANGUAGE_CODE = 'en-us'
#
#TIME_ZONE = 'UTC'
#
#USE_I18N = True
#
#USE_L10N = True
#
#USE_TZ = True
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
3.添加app
- 进入项目控制台,创建app:
django-admin startapp appname
- 修改setting.py配置文件:
#Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#在后面添加 "'app name'," 即可
]
2.3创建管理员
#控制台进入项目根目录下
python manage.py createsuperuser
2.4Pycharm设置启动环境
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在运行manage.py后,进入配置界面,设置Parameters runserver 0.0.0.0:8000
本地8000端口运行。
3.项目开发过程中的操作
3.1数据库迁移
在Django项目中创建实体后,不需要去单独创建数据库表,可直接用下方命令创建
python manage.py makemigrations
python manage.py migrate
django数据库迁移失败no changes
注:app下migrations文件中除__init.py,其它皆为数据库迁移时生成文件,失败时可删除再试