目录
一、配置环境
二、创建 Django 项目
(一)新建文件夹
(二)打开文件夹
(三)打开运行终端
(四)创建基础项目
(五)创建app
1. 安装Django
(1)终端执行命令
(2)查看已安装的Django
2. 创建app
(六)項目框架
三、运行 Django 项目
(一)终端命令
(二)debug运行项目
(三)相关问题
1. Error:D:\Program Files\python11\python.exe: can't open file 'D:\\test2\\manage.py': [Errno 2] No such file or directory
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 继续加载,并显示实际错误。