Django环境安装

2022-10-26,,

1.安装Django

# 自动安装PyPi提供的最新版本
pip install django # 安装指定版本
pip install django==2.2 # 验证安装
>>> import django
>>> print(django.get_version())
2.2 使用pip list命令,查看是否存在Django模块

2.查看Django版本

python -m django --version

3.配置系统环境

在Python根目录下的Scripts目录中可找到一个django-admin.exe文件,这是Django的核心管理程序,最好将它加入操作系统的环境变量中

运行django-admin help,能看到下面的内容表示环境变量设置成功

>django-admin help

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

Available subcommands:

[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
runserver
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).

4.创建Django项目

进入你想创建Django项目的目录,然后输入下面的命令:

django-admin startproject mysite

会在当前目录下创建一个叫做mysite的Django项目.

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

mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py

注意:在给项目命名的时候必须避开Django和Python的保留关键字,比如“django”,“test”等,否则会引起冲突和莫名的错误。对于mysite的放置位置,不建议放在传统的/var/wwww目录下,它会具有一定的数据暴露危险,因此Django建议你将项目文件放在例如/home/mycode类似的位置。

各文件和目录解释:

外层的mysite/目录与Django无关,只是你项目的容器,可以任意重命名。
manage.py:一个命令行工具,用于与Django进行不同方式的交互脚本,非常重要!
内层的mysite/目录是真正的项目文件包裹目录,它的名字是你引用内部文件的包名,例如:mysite.urls。
mysite/init.py:一个定义包的空文件。
mysite/settings.py:项目的主配置文件,非常重要!
mysite/urls.py:路由文件,所有的任务都是从这里开始分配,相当于Django驱动站点的内容表格,非常重要!
mysite/wsgi.py:一个基于WSGI的web服务器进入点,提供底层的网络通信功能,通常不用关心。

Django提供了一个用于开发的web服务器,使你无需配置一个类似Ngnix的生产服务器,就能让站点运行起来。这是一个由Python编写的轻量级服务器,简易并且不安全,因此不要将它用于生产环境。

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

Django的开发服务器(以后简称服务器)默认运行在内部的8000端口,如果你想指定端口,请在命令中显示给出:

python manage.py runserver 8080

如果想修改服务器的ip地址,请按下面的方式运行命令,比如:

python manage.py runserver 0:8000

0 是 0.0.0.0 的简写,Django将运行在0.0.0.0:8000上,整个局域网内都将可以访问站点,而不只是是本机。

注意: Django的开发服务器具有自动重载功能,当你的代码有修改,每隔一段时间服务器将自动更新。但是,有一些例如增加文件的动作,不会触发服务器重载,这时就需要你自己手动重启。

在 Django 中,每一个应用(app)都是一个 Python 包,并且遵循着相同的约定。Django 自带一个工具,可以帮你生成应用的基础目录结构。

app应用与project项目的区别:

一个app实现某个功能,比如博客、公共档案数据库或者简单的投票系统;
一个project是配置文件和多个app的集合,这些app组合成整个站点;
一个project可以包含多个app;
一个app可以属于多个project!

app的存放位置可以是任何地点,但是通常都将它们放在与manage.py脚本同级的目录下,这样方便导入文件。

进入mysite项目根目录,确保与manage.py文件处于同一级,输入下述命令:

python manage.py startapp polls

系统会自动生成 polls应用的目录,其结构如下:

polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py

在Pycharm中,没有可以创建app的图形化按钮,需要在下方的Terminal终端中输入命令:

python manage.py startapp polls

这样也能创建polls应用。

通过前面在Pycharm中创建工程的方式有个方便之处,点击Terminal后,会自动进入虚拟环境。

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

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

首先打开Pycharm,点击file-->new project,出现下面的对话框,注意下面的红框提示:

在Location处选择工程目录
在New environment using处选择Virtualenv(这可能需要你提前pip install virtualenv进行虚拟工具virtualenv的安装)。通常情况下,虚拟环境会以venv的名字,自动在工程目录下生成。
在Base interpreter处,选择你要使用的Python解释器
下面两个单选框,根据需要自行选择
如果想使用现成的解释器或者虚拟环境,请选择Existing interpreter

再点开下方的More Settings:

Template language:选择使用的模板语言,默认Django就行,可选Jinjia。
Templates folder:Pycharm安利给我们的功能,额外创建一个工程级别的模板文件的保存目录,可以不设置,空着,这里使用默认设置吧。
启用Admin,一般勾上。

注:Application name:那一栏可以填入app的名字,点击create后Pycharm会自动创建一个app应用,这步错过的话创建应用就只能使用命令行了

最后点击点击Create

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

看下我们当前的状态,注意venv这个虚拟环境目录,以及我们额外创建的templats目录:

注意,注意,注意!:从Django3.1开始,官方使用pathlib替代了os.path。在settings.py文件中,第一行就是from pathlib import Path,并且BASE_DIR是这么定义的:

BASE_DIR = Path(__file__).resolve(strict=True).parent.parent

但是在Pycharm的早期版本中(包括教程中使用的2020.1版本),依然使用的是os.path,如果你在创建项目的时候同时指定了template目录,那么可能在运行服务器的时候出现缺少os模块的错误。此时,只需要在settings.py文件顶部添加import os即可。

点击绿色的三角,启动默认的开发服务器,如果看到欢迎界面,说明一切OK!

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

如果希望汉化Pycharm的,可以在settings的plugins中搜索chinese简体包,安装即可。

Django环境安装的相关教程结束。

《Django环境安装.doc》

下载本文的Word格式文档,以方便收藏与打印。