在 PyCharm 社区版中创建 Django 项目
- PyCharm 社区版:免费,创建 Django 项目时不会自动创建项目。你需要手动使用命令行工具创建项目,然后再将其导入到 PyCharm 中。但它支持创建 Django 项目后的其它开发,如运行服务器、管理数据库等。
- PyCharm 企业版:收费,提供更多的功能和更好的用户体验,包括直接在IDE内部创建Django项目、更完善的Django特定设置等。
企业版创建项目的时候,左侧多了一些快速创建各类项目的脚手架功能,社区版中没有该功能,需要手动方式通过命令行创建。
一、配置国内镜像源
由于国内网络的原因,可以使用国内镜像源安装相应的工具包。
1、临时从镜像源安装
- 清华大学:pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:pip install 包名 -i https://mirrors.aliyun.com/pypi/simple/
- 中国科学技术大学:pip install 包名 -i https://pypi.mirrors.ustc.edu.cn/simple/
- 华为:pip install 包名 -i https://repo.huaweicloud.com/repository/pypi/simple
- 豆瓣:pip install 包名 -i https://pypi.douban.com/simple
如:
- 指定镜像源安装最新版本: pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple
- 指定镜像源安装指定版本: pip install django==5.1.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
- 查看指定已安装包的版本: python -m django --version
- 查看当前所有安装包列表: pil list
2、永久使用镜像源
- 一劳永逸的解决镜像源的问题,安装时不用每次都输入镜像源地址,但版本可能没有默认的地址更新快,但基本也够用了
- Windows系统中,安装 Python 时一般不会自动创建该配置文件,需要手工创建相应的目录及配置文件:
- 新建配置文件:C:\Users\ml\AppData\Roaming\pip\pip.ini
- 添加以下内容:
[global]
#index-url = https://pypi.org/simple
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
注:https://pypi.org/simple 是使用 pip 命令时原默认的下载路径,前面加井号(#)是注释掉改行的意思。
二、安装 Django
1、在PyCharm中创建新的空白项目
2、在 Terminal(终端) 中安装 Django
- 由于前面已经配置了清华的国内镜像源,因此不用再单独指定
- 命令(直接安装镜像源中的最新版本): pip install django
3、从设置中复查安装是否成功
- 路径:File → Settings
- 在右侧包列表中可见 Django 已经安装成功
三、创建 Django 项目
官方参考:Writing your first Django app(https://docs.djangoproject.com/en/5.1/intro/tutorial01/)
1、方式-1
在项目终端窗口使用 Django 的命令行工具创建 Django 项目结构:
- 命令格式:django-admin startproject
- 创建项目:django-admin startproject mydjango
- 命令行提示符前缀的(venv)代表是在当前项目的虚拟环境下创建的
- 如下图所示创建成功
思考一个问题:
- 我们用 PyCharm 创建的项目名称:DJango
- 然后用 django-admin 创建的 Django 项目名称:mydjango,
- 但是在二者之间多了一层项目同名的目录:mydjango,即:DJango - mydjango - mydjiango,如下图绿色箭头所指。
- 是否保留该目录层级,就看自己需要了。
2、方式-2
我们再参考一下官方案例:
- 命令行中,在 “项目名称”(红色文字) 后面跟了一个指定 “上级目录” 的参数(绿色文字)
- 使用该格式,我们可以自己指定上级目录,然后去掉上面的 “中间层”
如果在终端直接指定 django 项目的所在目录,可能会报错,如下:
- 命令:django-admin startproject mydjango DJango 的含义是,在当前目录下找到一个叫 “DJango” 的文件夹,然后在它下面创建一个名字叫 “mydjango” 的项目
- 但是:根据命令提示符所示,当前路径已经在 DJango 下面了,它下面再没有一个叫 “DJango” 的文件夹了,所以执行命令报错
切换路径后再次执行相同的命令:
命令执行成功,中间目录被去除掉了:
四、运行服务
运行新建项目的服务:
- 当前路径先切回到 mydjango 项目所在目录: cd DJango
- 运行启动服务命令:python manage.py runserver
- 启动成功,获得访问地址,可以直接用浏览器打开
- 退出服务:Ctrl + C
- 其中:
- 提示:You have 18 unapplied ...是有关数据库迁移相关的警告,暂且忽略即可(后面再处理)。
- 提示:System check identified no issues (0 silenced) 代表系统检查没有发现任何问题,所有的检查都通过了。
用浏览器访问该地址,成功打开默认页面。至此创建 Django 项目成功
五、补充说明
关于 “项目” 和 “应用程序” 的关系:
参考官方说明,地址:Projects vs. apps(Writing your first Django app, part 1 | Django documentation | Django)
Projects vs. apps
What’s the difference between a project and an app? An app is a webapplication that does something – e.g., a blog system, a database ofpublic records or a small poll app. A project is a collection ofconfiguration and apps for a particular website. A project can containmultiple apps. An app can be in multiple projects.
项目和应用程序有什么区别?应用程序是一种做某事的web应用程序,例如博客系统、公共记录数据库或小型民意调查应用程序。项目是特定网站的配置和应用程序的集合。一个项目可以包含多个应用程序。一个应用程序可以在多个项目中。