Django环境安装

阅读: 232261     评论:37

Django是基于Python的Web框架,依赖Python环境,所以需要提前安装好Python解释器。

关于Python的安装,请参考https://www.liujiangblog.com中Python教程的相关部分,这里不再赘述。

截至2024年初,Django的最新版本为5.0,发布于2023年12月,预计2025年结束支持。

Django5.0支持Python 3.10、3.11和3.12。

下面为Django版本和Python版本的依赖对照表。

Django版本 Python版本
1.11 2.7, 3.4, 3.5, 3.6, 3.7
2.0 3.4,3.5,3.6,3.7
2.1 3.5,3.6,3.7
2.2 3.5, 3.6, 3.7, 3.8
3.0 3.6, 3.7, 3.8
3.1 3.6, 3.7, 3.8
3.2 3.6、3.7、3.8、3.9、3.10
4.0 3.8, 3.9, 3.10
4.1 3.8、3.9、3.10、3.11
4.2 3.8、3.9、3.10、3.11、3.12
5.0 3.10, 3.11, 3.12

关于版本号的对应是这样理解的:

  • 不向下兼容:比如Django5.0不支持Python3.10以下的版本。
  • 不向上兼容:比如Django5.0不支持Python3.12以上的版本。(支持期内可能会增加兼容)
  • 一个Python版本,可能被多个Django版本支持。

版本建议:

  • 对于初学者,建议直接安装最新版本的Python和Django!
  • 对于已有项目,不要轻易调整Python和Django版本。

Django的版本路线时间图如下所示

未来版本的计划节点:

版本号 预计发布时间 主线维护结束时间 扩展支持结束时间
5.1 2024年8月 2025年4月 2025年12月
5.2 LTS 2025年4月 2025年12月 2028年4月
6.0 2025年12月 2026年8月 2027年4月
6.1 2026年8月 2027年4月 2027年12月

从上表中可以看出Django的版本更新迭代非常快,大版本号两年加一,小版本号半年一升。实际上,对于非重度用户或二次开发使用,Django的版本差别并没有你想象中那么大,完全不必为版本的问题头疼。即使现在,django1.x版本都依然在使用。

一、安装Django

1. 通过pip安装Django

如果你是通过升级的方式安装Django,那么你需要先卸载旧的版本。

Django提供3种发行版本:

  • 你的操作系统提供的发行版本(比如Linux)
  • 官方稳定版本(推荐)
  • 开发测试版本

Django本质上是Python语言的一个库,因此可以通过pip工具安装。这也是最简便、最好的安装方式。不建议通过下载安装包或者编译源码进行安装的方法,除非你的环境无法连接外部网络。

以windows系统中使用pip命令安装为例:

win+r,调出cmd,以管理员身份运行命令:pip install django,自动安装PyPi提供的最新版本。

如果要指定版本,可使用pip install django==5.0.1这种形式。

在Linux操作系统中,也是一样,使用pip工具包安装Django。

2. 验证安装

命令行下运行:

$ python -m django --version

或者进入Python交互式环境(注意一定要进入刚才安装了Django的Python解释器),按下面所示查看安装版本:

>>> import django
>>> django.get_version()
3.1

或者使用pip list命令,查看是否存在Django模块。

3. 配置系统环境

成功安装Django后,以windows为例,在Python解释器目录下的Scripts文件夹中可找到一个django-admin.exe文件,这是Django的核心管理程序,最好将它加入操作系统的环境变量中,这样在以后的调用会比较方便。

如何进入环境变量设置界面,请参考Python教程中的相关部分。如下图所示,在Path变量中添加Scripts目录。

回到cmd界面,直接运行django-admin help,如果能看到类似下面的内容表示环境变量设置成功。

D:\test>django-admin help

Type 'django-admin help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]
    check
    compilemessages
    createcachetable
    dbshell
...以下省略

实际上,对Windows环境变量path的编辑,只是为了在命令行下可以无需带路径,直接执行一些程序,而不会出现程序文件无法找到的错误。

二、 创建项目

1. 在cmd或Linux命令行环境下创建Django项目

在windows的cmd环境中(Linux类同),首先进入虚拟环境的script目录,确保Django已经安装,输入下面的命令:

django-admin startproject mysite

这样就会在当前目录下创建一个叫做mysite的Django项目。

D:\test>django-admin startproject mysite
D:\test>dir

 D:\test 的目录

<DIR>          .
<DIR>          ..
<DIR>          mysite

注意:Django的项目名称和应用名称一定要避开一些特殊单词,比如"django"、"python"、"test"、"debug"之类的。

可以看到Django自动帮我们创建了一个mysite文件夹,这是项目的根目录。在mysite根目录中,又有一个mysite目录,这是整个项目的配置文件目录(一定不要和同名的根目录混淆),还有一个manage.py文件,它是整个项目的管理脚本。

D:\test>cd mysite

D:\test\mysite>dir

 D:\test\mysite 的目录

<DIR>          .
<DIR>          ..
               manage.py
<DIR>          mysite


D:\test\mysite>cd mysite

D:\test\mysite\mysite>dir

 D:\test\mysite\mysite 的目录

<DIR>          .
<DIR>          ..
               __init__.py
               settings.py
               urls.py
               asgi.py
               wsgi.py

回到项目根目录下,运行python manage.py runserver,Django会以127.0.0.1:8000这个默认配置启动开发服务器。

D:\test\mysite>python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

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.
January 25, 2024 - 20:19:21
Django version 5.0.1, using settings 'Django5_test.settings'
Starting development server at http://localhost:8000/
Quit the server with CTRL-BREAK.

打开你的浏览器,在地址栏输入127.0.0.1:8000,如果看到如下的界面,说明Django一切正常,你可以开始Django之旅了!


2. 在windows下使用Pycharm创建Django工程

事实上,我们一般不使用命令行,而是直接在Pycharm中创建Django项目。

Pycharm是进行Django开发的最佳IDE,请大家自行安装,建议使用最新专业版本。(非专业版的Pycharm不提供Django开发模块,非最新版的Pycharm可能对最新版本的Python或者Django支持不好。比如Pycharm2018对Python3.8的支持就不好,并且这些坑不好找,不好填。)

2018以后的Pycharm版本都支持同时创建虚拟环境和Django项目。

下面以Pycharm 2024.1专业版为例。(可以提前安装中文插件)

首先打开Pycharm,点击文件-->新建项目,选择左边的Django,出现下面的对话框,注意下面的红框提示:

  • 位置处选择你希望的工程目录
  • interpreter type处选择project venv。Python已经内置了venv模块,可以直接安装虚拟环境 。虚拟环境会以.venv的名字,自动在工程目录下生成。你也可以使用conda,这主要用于数据科学研究项目。或者自定义解释器环境,这需要你提前安装virtualenv模块,不再赘述。
  • 在Python版本处,选择你要使用的Python版本。

再点开下方的更多设置

  • 模板语言: 选择使用的模板语言,默认Django就行。
  • 模板文件夹:这是Pycharm安利给我们的功能,用于额外创建一个工程级别的模板文件的保存目录,可以不设置,让它空着,也可以直接默认。template是目录的名字,可换成任何你喜欢的名字。
  • 应用程序名称: 自动帮你创建一个app。可选的功能,先空着吧。
  • 启用Django admin: 开启管理后台admin功能,一般勾上。

没什么问题了,就点击创建吧。

下面就是一段时间的等待,Pycharm会帮助我们自动创建虚拟环境,以及安装最新版本的Django。

安装过程中,如果以前没有下载最新版本的django,会联网下载。如果有,则使用缓存的django。

创建完成之后,进入Pycharm的解释器设置菜单,可以看到当前Django版本是5.0版本。如果你要指定过去的版本,比如2.2、3.1等,那就不能这么操作了,需要在命令行下自己创建虚拟环境并安装django。或者在这里先删除Django,再安装你想要的指定版本。

看下我们当前的状态,注意venv虚拟环境目录。

点击最上面的绿色三角图标,启动默认的开发服务器,在浏览器中访问127.0.0.1:8000,如果看到欢迎界面,说明一切OK!

注意:第一次启动服务器后,Django会默认创建一个db.sqlite3文件,这是SQLite3数据库。

如果没有特别说明,教程将在Pycharm中进行。

需要汉化Pycharm的,可以在settings的plugins中搜索chinese简体中文包,安装即可


 Django简介 第一个Django应用 

评论总数: 37


点击登录后方可评论

开始学习打卡



Django很快安装上了,用Django安装包一直没搞定,发个评论感谢一下老师!



C:\Users\wfr\mysite>python manage.py runserver File "manage.py", line 17 ) from exc ^ SyntaxError: invalid syntax 大佬,这是什么问题呀?Python3.8,默认安装的是Django4.0



自己解决了,自己本来安装有Python2,结果默认是在python2下运行“python manage.py runserver”的。变为python3 manage.py runserver就可以了。(在Python3路径下,复制粘贴一个Python,重命名为Python3就可以)



老師您好: django-admin startproject mysite(能创建相应文件夹),可是接下来的代码就全都“不是内部或外部命令“ 一直出現這問題,我python也重裝,path也設置了...請問還有那裡有問題嗎? thanks.



还是环境和命令路径有问题。



你好,请问你解决了吗?我也遇到了相同的问题



请问,正确安装pip以及Django模块之后(pip list可以查看目录),按照教程配置了Django的系统环境,django-admin startproject mysite(能创建相应文件夹),可是接下来的代码就全都“不是内部或外部命令“,这个是因为python没有配置好的原因吗?



请问创建Django项目后报错Error creating Django application: Error on python side. Exit code: 1, err: CommandError: 'Project0' conflicts with the name of an existing Python module and cannot be used as a project name. Please try another name.,换了好多项目名称都不可以,是什么问题呢



the name of an existing Python module and cannot be used as a project name. Please try another name. 可以翻译一下,冲突了。



终于找到一个讲解详细,且版本够新的Django 教程,感谢博主



有没有vscode建项目的版本?



vscode+anaconda可以用来django开发吗?pycharm太大了



Vscode完全可以胜任,但一句没有Pycharm方便就足以说明问题。 annaconda是数据分析和机器学习用的Python解释器,做django开发的话,太臃肿,并且和Pycharm不是一回事。 Pycharm大是大,但现在开发机器性能和内存都不错,那点启动时间和内存消耗,不至于。



用了两天的时间,终于把基础操作和虚拟环境这类东西整明白了。感觉好爽



千万别去搞什么虚拟环境 浪费时间 出了问题



不要因噎废食哦



请问从命令行运行`python manage.py runserver`,确定是在根目录下,运行后没有反应,这是什么情况呢?



信息太少,无法回答,sorry



最后 点击create后一直卡在这样一个对话框这里:installing Django downloading https://files.pythonhosted.org/packages/



检查内容填写和选择框。检查pycharm的设置。检查网络链接。



我的也这样,你最后咋解决的



你的可能是因为Python下载源的问题卡住,换成豆瓣的源应该就可以了



最好的django中文教程,寻找了很久



创建虚拟环境并安装django的时候一直不成功,总是超时报错唉:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.



检查网络。这个不是Django的锅。



真的太棒了,认真学习中



参考:https://www.cnblogs.com/wcwnina/p/9136398.html



写的很棒,正在努力学习中。要是侧边目录固定就好了,浏览起来会变得很方便。



我的点击运行后报错的,有时候直接报python 已停止工作。我的urls.py和你的内容不知道一不一样,我的只有 """mysite URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.10/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import url from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), ]



不过我点击了mysite旁边的绿色箭头,可以直接启动服务器,也能成功好像.



我输入“pip install django-1.11.6”,好像不是“=”,我输入等于就不行。 错误位于第一大标题下的第1小标题。 新手,错了勿怪



不是‘-’



已经修改过来,谢谢指出!



123



从入门到真正入门,谢谢刘哥



千万不要放弃!哈哈!