luffyapi: --- 项目根目录
manage.py --- 执行脚本
docs: --- 文档目录(新建)
logs: --- 日志目录(新建)
scripts: --- 脚本目录(新建)
luffyapi: --- 项目主应用目录
urls: --- 总路由
wsgi: --- 发布脚本
media: --- 媒体目录(新建)
apps: --- 子应用目录(新建)
libs: --- 第三放库目录(新建)
utils: --- 子应用的公共组件目录(包,新建)
settings: --- 配置目录(包,新建)
dev.py --- 开发配置(新建)
pro.py --- 上线配置(新建)
一、初始化事项
1、因为修改了配置文件路径
①manage.py中的:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings') =>
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.dev')
②pycharm运行环境配置中加上:DJANGO_SETTINGS_MODULE=luffyapi.settings.dev。
③luffyapi.wsgi.py中的:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings') =>
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.pro')
2、国际化,luffyapi.settings.dev.py中:
①LANGUAGE_CODE = 'en-us' => 'zh-hans'。
②TIME_ZONE = 'UTC' => 'Asia/shanghai'。
③USE_TZ = True => False。
3、创建应用:
①<manage.py startapp app名>在哪个目录下执行,就会将app目录创建在该目录下。
②cd到luffyapi.apps目录下:python ..\..\manage.py startapp user。
4、环境变量相关:
①luffyapi.settings.dev.py中:
# 现在的BASE_DIR不再是原本项目根目录,而变成了内部主应用目录luffyapi,不会自动加入环境变量 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 把现在的BASE_DIR加入到环境变量 sys.path.insert(0,BASE_DIR) # 把apps目录也加入到环境变量 sys.path.insert(1,os.path.join(BASE_DIR,'apps'))
②右击luffyapi.apps:Mark Directory as => Sources Root。
二、数据库相关
1、管理员登录数据库:mysql -uroot -p123。
2、创建项目数据库:create database luffyapi。
3、创建数据库用户,授予luffyapi库的所有权限,并允许远程(本地连接):
grant all privileges on luffyapi.* to 'caoyu111'@'%' identified by 'caoyu333';
grant all privileges on luffyapi.* to 'caoyu111'@'localhost' identified by 'caoyu333';
4、立即刷新:flush privileges。
5、luffyapi.settings.dev.py中:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'luffyapi', 'USER': 'luffyapi', 'PASSWORD': 'Luffy123?', # 密码可以环境变量中引用 sys.path.get(键,默认值) 'HOST': '127.0.0.1', 'PORT': 3306, 'CHARSET': 'utf8' } } import pymysql pymysql.install_as_MySQLdb()
6、异常改源码:
# if version < (1, 3, 13): # raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
三、媒体目录
1、luffyapi.settings.dev.py中:
MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
2、luffyapi.urls中:
from django.conf import settings from django.views.static import serve
urlpatterns = [ ... re_path('media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}) ]