diango项目目录结构修改后的配置

修改目录结构

django项目中目录结构在实际项目中可能不合适,尤其是使用drf时,需要修改项目的目录结构。

目录结构修改后,需要一定的配置,否则整个项目是跑不起来的。修改后的目录结构如下:

image-20200719102433251

项目目录结构修改后,需要的配置如下

启动文件修改

启动文件有两个:分别是wsgi.py【线上部署】和manage.py【本地开发】,修改的内容类似

# manage.py
# 将原先的Luffyapi.settings修改为新的Luffyapi.settings.dev
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Luffyapi.settings.dev')

配置文件修改

配置文件由原先的settings.py变为settings/dev.py,其中的BASE_DIR已经不再是项目根路径了,

此时需要将BASE_DIR添加环境变量中,并且里面的app文件夹一并同时加入环境变量,这样可以保证导入时可以从apps开始

import os
import sys
import datetime


# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

sys.path.insert(0, BASE_DIR)
# 把apps的路径加入到环境变量
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))

注意包内导模块使用相对导入,不要使用绝对导入

# user应用内在views.py中导入ser.py
# 相对导入  from . import ser
# 绝对导入  from Luffyapi.apps.user import ser	【报错】

# 报错信息
"INSTALLED_APPS." % (module, name)
RuntimeError: Model class Luffyapi.apps.user.models.User doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

给apps添加source

这样做的目的是为而解决pycharm路径导入时飘红的问题

# user/views.py
from user import models		# 不设置source时可以使用,但是pycharm不认识,会飘红

如何添加source

# 选择apps文件夹,右键,选择Mark Directory as Sources Root		#设置后apps文件夹也会变颜色【pycharm版本不同可能有差别】

如何新建app

cmd中,进入apps文件夹所在路径,执行如下命令,

python ../../manage.py startapp user
# 在哪个路径下执行manage.py 就在那个路径下生成app,所以需要相对路径找到manage.py

新建超级用户

和最初django的生成超级用户的方式一致,在项目根路径下执行

python manage.py createsuperuser

启动项目

# 项目根路径下
python manage.py runserver
posted @ 2020-07-19 10:51  the3times  阅读(554)  评论(0编辑  收藏  举报