命令行汇总:
// 1、安装指定版本Django pip3 install Django==3.2.13 // 2、创建项目 django-admin.py startproject project_name project_path // 如果不行,执行: django-admin startproject project_name project_path // 3、运行项目 python3 manage.py runserver // 4、创建项目 python3 manage.py startapp App // 端口号被占用处理 lsof -i:8000 kill pid
如果以上没有问题,以下所有可以略过。
1、Django安装
2、创建项目
创建格式:
django-admin.py startproject 项目名称 要创建项目的所在位置 django-admin.py startproject project_name project_path
报错处理
1、zsh: command not found: django-admin.py
这可真是个疑难杂症。
处理一:安装包问题
最开始安装的额django包是4.x系列的,点击路径查看,发现包里面还真没有【django/bin/django-admin.py】文件,刚开始以为是文件pip3上面的包的问题,然后下载官网的查看,也是没有这个文件的。查了没有处理方式。所以只能将包降到3.x系列安装,然后就有了。
但是再次执行创建项目也是以上提示,可此时已经知道【django/bin/django-admin.py】文件是真实存在的。
处理二:python3创建
借鉴他人经验。cd 到 bin 目录下执行创建项目的命令。可行,但是此时要注意,执行命令变了,如下:
python3 django-admin.py startproject project_name project_path
处理三:完整路径创建
查找执行命令的文件位置:
find / -name django-admin
最终找到 usr 目录下面:
/usr/local/bin/django-admin
那么此时,我可以用绝对路径创建项目,如下:
/usr/local/bin/django-admin startproject project_name project_path
由于,django-admin 在 /usr/local/bin 目录下,那么可以使用简写的方式创建项目:
django-admin startproject project_name project_path
注意:这时候是不带 .py 后缀实现的。
目录结构
创建成功之后的目录结构如下:
目录说明:
Helloworld: 项目的容器。
manage.py:一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
Helloworld/init.py:一个空文件,告诉Python 该目录是一个Python包。
HelloWorld/asgi.py:一个 ASGI 兼容的Web 服务器的入口,以便运行你的项目。
HelloWorld/settings.py: 该 Django 项目的设置/配置。
Helloworld/urls.py:该Django 项目的 URL 声明;一份由 Django 驱动的网站”“目录”。
HelloWorld/wsgi.py:一个WSGI 兼容的web 服务器的入口,以便运行你的项目。
3、运行项目
python3 manage.py runserve
问题处理:
3.1、端口号被占用处理
1、查看被占用的端口号 lsof -i:8000 2、根据 pid 删除对应的端口号 kill pid
3.2、应用迁移提示处理
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them.
翻译:
您有18个未迁移的应用。您的项目可能无法正常工作,直到您应用程序(s)的迁移:admin, auth,内容类型,会话。
运行’python manage.py migrate’来应用它们。
处理:
python3 manage.py migrate
4、创建应用
命名为App
python3 manage.py startapp App
最终项目结构如下: