Backend - Django 项目创建 & 运行
目录
2. Error:ModuleNotFoundError: No module named 'django_extensions'
3. Error:raise RuntimeError("populate() isn't reentrant")
一、配置环境
创建虚拟环境,可参考文章:虚拟环境配置(python 安装、创建虚拟环境)-CSDN博客
安装依赖,可参考文章:Backend - 安装依赖(pip 、tar.gz)-CSDN博客
二、创建 Django 项目
(一)新建文件夹
????????某盘中,新建一个文件夹。
(二)打开文件夹
????????用vscode(或pycharm软件),打开该文件夹。
(三)打开运行终端
????????以 vscode 为例,可用Ctrl键 + ~键的组合开启。
(四)创建基础项目
django-admin startproject LyProject
创建基础项目时,有个前提:需要先安装python。?(即,第一节中配置环境)
(五)创建app
创建app时,有个前提:需要先安装Django依赖。(即,第一节中安装依赖)
1. 安装Django
(1)终端执行命令
pip install django
# or
python -m pip ?install django
(2)查看已安装的Django
pip list
2. 创建app
? ? ? ? 若要创建app,需要进入具体的基础项目路径:
cd LyProject # 之前创建的基础项目名是LyProject
????????执行LyProject里的manage.py文件:
python manage.py startapp LyApp
?(六)項目框架
三、运行 Django 项目
(一)终端命令
python manage.py runserver
# or
python manage.py runserver 127.0.0.1:8000
(二)debug运行项目
需要配置.vscode文件夹(launch.json & settings.json两个文件)
参考另一篇文章:VSCode & PyCharm-CSDN博客
(三)相关问题
1. Error:D:\Program Files\python11\python.exe: can't open file 'D:\\test2\\manage.py': [Errno 2] No such file or directory
具体情况:
????????运行项目python manage.py runserver时,报错没有manage.py文件。
原因:
????????要在manage.py所在的根目录下进行debug或runserver。
解决:
????????例如,LyProject是manage.py文件夹的父目录:(venv) D:\test2\LyProject>python manage.py runserver 127.0.0.1:8080
2. Error:ModuleNotFoundError: No module named 'django_extensions'
具体情况:
????????运行项目python manage.py runserver时,报错没有依赖。
原因:
????????项目的settings.py文件中的INSTALLED_APPS属性中,配置有django_extensions。但是环境中缺少该依赖。
解决:
????????安装依赖:pip install django-extensions 或 python -m pip install django-extensions
3. Error:raise RuntimeError("populate() isn't reentrant")
具体情况:
????????运行项目python manage.py runserver时,报错:populate() isn't reentrant。
解决:
????????要揭示真正的问题,请打开django/apps/registry.py并在第 80 行附近进行替换。将raise RuntimeError("populate() isn't reentrant")?? ?替换成?? ?self.app_configs = {}
实现:
?? ??? ?这将允许 Django 继续加载,并显示实际错误。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!