【4.0】路飞项目后端搭建
【一】创建django项目的两种方式
- 创建 Django 项目有两种常用的方式
- 一种是通过命令行,另一种是通过 PyCharm。
 
【1】命令行方式:
- 
打开终端或命令提示符,并进入你想要创建项目的目录。 
- 
在命令行中输入以下命令: django-admin startproject 项目名。- 其中,项目名是你为项目指定的名称,可以自己定义。
 
- 其中,
- 
执行该命令后,Django 将在当前目录下创建一个新的项目文件夹,该文件夹的名称就是你所指定的项目名。 
- 
进入项目文件夹,你将看到一个名为 manage.py的文件和一个与项目名相同的文件夹。这个文件夹将包含项目的所有代码文件和配置。
【2】PyCharm 方式:
- 打开 PyCharm,点击 "Create New Project" 或选择 "File -> New Project"。
- 在创建项目窗口中,选择左侧的 "Django"。
- 在右侧的选项中,填写项目名和选择项目存放的位置。
- 选择 "Create a new virtual environment",这将为你的项目创建一个独立的 Python 虚拟环境,以便于管理项目依赖。
- 在 "Django-specific settings" 部分,选择 "New application" 并输入应用程序名称,这将在项目中创建一个 Django 应用。
- 点击 "Create" 完成项目创建。
【二】调整目录结构
├── luffyCity
    ├── logs/				# 项目运行时/开发时日志目录 - 包
    ├── manage.py			# 脚本文件
    ├── luffyCity/      		# 项目主应用,开发时的代码保存 - 包
     	├── apps/      		# 开发者的代码保存目录,以模块[子应用]为目录保存 - 包
        ├── libs/      		# 第三方类库的保存目录[第三方组件、模块] - 包
    	├── settings/  		# 配置目录 - 包
			├── dev.py   	# 项目开发时的本地配置
			└── prod.py  	# 项目上线时的运行配置
		├── urls.py    		# 总路由
		└── utils/     		# 多个模块[子应用]的公共函数类库[自己开发的组件]
    └── scripts/       		# 保存开发项目的脚本文件 - 文件夹
【三】创建APP
【1】切换到apps目录下
(venv) PS E:\Old Boy\luffy\luffyCity\luffyCity\apps>
【2】命令
python ../../manage.py startapp home
【3】注册APP
(1)注册方式一
- 需要修改相关文件的内容
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'luffyCity.apps.home'
]
- 可能会报错
django.core.exceptions.ImproperlyConfigured: Cannot import 'home'. Check that 'luffyCity.apps.home.apps.HomeConfig.name' is correct.
修改指定文件内容
luffyCity\luffyCity\apps\home\apps.pyfrom django.apps import AppConfig class HomeConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'luffyCity.apps.home' # 这里修改为注册APP的路径即可
(2)注册方式二
- 把APP路径添加到环境变量
import os
import sys
# 项目根目录 - 项目根目录发生了更改
BASE_DIR = Path(__file__).resolve().parent.parent
# 因为 dev 的位置又深了一层,导致根目录发生变化
# 旧 :E:\Old Boy\luffy
# 新 :E:\Old Boy\luffy\luffyCity
# 将新的根目录添加到系统环境变量
sys.path.insert(0, str(BASE_DIR))
# 导入APP下的文件可以直接导入,否则需要加 luffyCity. 前缀
# 将 APP目录添加到系统环境变量
APP_DIR = os.path.join(BASE_DIR, 'apps')
# 添加系统环境变量
sys.path.insert(0, APP_DIR)
# 注册APP下的app可以直接写名字,而不用具体的路径
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 'luffyCity.apps.home'
    'home'
]
【四】设置两套配置文件
- 所有项目,都会有多套配置文件
- 开发阶段配置
- 上线阶段配置
【1】创建settings文件夹
【2】本地配置文件
(1)命名
- dev.py(本地的settings文件)
(2)路径报错解决办法
- 
django项目运行,优先运行settings.py 配置文件 
- 
命令运行 - python manage.py runserve
- 所以,manage中的配置文件路径要正确
 
- 
修改 manage.py文件
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
    """Run administrative tasks."""
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyCity.settings.dev') # 修改配置文件位置
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)
if __name__ == '__main__':
    main()
- 启动项目发现提示
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
- 解决办法
- 删除当前配置文件启动配置
 

- 移除并新增一个启动配置

- 
如果上述问题仍然存在 - File | Settings | Languages & Frameworks | Django
 
- 
修改 settings 文件路径 - 自己的配置文件位置
 

【3】上线配置文件
- 
重要:项目上线,不使用manage.py 运行 - 
使用uwsgi运行wsgi.py 文件 
- 
修改这个文件的配置 - 
asgi.py import os from django.core.asgi import get_asgi_application os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyCity.settings.prod') application = get_asgi_application()
- 
wsgi.py import os from django.core.wsgi import get_wsgi_application os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyCity.settings.prod') application = get_wsgi_application()
 
- 
 
- 
- 
配置文件指定 prod.py 以后上线使用这个配置文件 
【补充】运行Django项目文件错误解决
【一】路径配置要正确
- dev.py
import os
import sys
# 项目根目录 - 项目根目录发生了更改
BASE_DIR = Path(__file__).resolve().parent.parent
# 因为 dev 的位置又深了一层,导致根目录发生变化
# 旧 :E:\Old Boy\luffy
# 新 :E:\Old Boy\luffy\luffyCity
# 将新的根目录添加到系统环境变量
sys.path.insert(0, str(BASE_DIR))
# 导入APP下的文件可以直接导入,否则需要加 luffyCity. 前缀
# 将 APP目录添加到系统环境变量
APP_DIR = os.path.join(BASE_DIR, 'apps')
# 添加系统环境变量
sys.path.insert(0, APP_DIR)
# 注册APP下的app可以直接写名字,而不用具体的路径
- manage.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyCity.settings.dev')
# 将配置文件目录进行更新
【二】删除启动配置项并重置
- 删除启动项

- 新建启动项

【三】新建启动项仍无法启动
- 修改pycharm配置文件
- File | Settings | Languages & Frameworks | Django
 
- 路径选择我们修改后的dev.py文件路径

本文来自博客园,作者:Chimengmeng,转载请注明原文链接:https://www.cnblogs.com/dream-ze/p/17642686.html

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号