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环境安装的更多相关文章

  1. Django环境安装--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  2. django环境安装操作整理!

    1. Django 下载地址:https://www.djangoproject.com/download/ 注意:目前 Django 1.6.x 以上版本已经完全兼容 Python 3.x. 2.安 ...

  3. win10 64位Python 3.6.2 + Django 环境安装

    一.安装Python3.6.2 1.下载安装包 https://www.python.org/downloads/release/python-362/ 2.一直下一步,记得到了这个界面全部勾选再下一 ...

  4. django环境安装与项目创建方式

    1.安装django pip install django2.检查django版本 : python -m django --version 3.创建项目 django-admin startproj ...

  5. django环境搭建(基于anaconda环境)

    环境:win7,anaconda,python3.5 1.介绍 Django特点:具有完整的封装,开发者可以高效率的开发项目,Django将大部分的功能进行了封装,开发者只需要调用即可,如此,大大的缩 ...

  6. Centos 如何安装Django环境

    Centos 如何安装Django环境 | 浏览:954 | 更新:2014-10-31 20:34 针对Centos这一Linux发行版,进行django环境的搭建过程介绍.   工具/原料 Cen ...

  7. 安装Nginx+uWSGI+Django环境

    Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和 ...

  8. Nginx+Python+uwsgi+Django的web开发环境安装及配置

    Nginx+Python+uwsgi+Django的web开发环境安装及配置 nginx安装 nginx的安装这里就略过了... python安装 通常系统已经自带了,这里也略过 uwsgi安装 官网 ...

  9. Window环境下Python和Django的安装,以及项目的创建

    1.首先我们要下载python和Django,他们的下载地址如下 python地址:https://www.python.org/ Django地址:  https://www.djangoproje ...

随机推荐

  1. ICMP 介绍

    简介 ICMP(Internet 控制报文协议,Internet Control Message Protocol , RFC 792).主要用于在IP主机与路由器之间传递控制消息,用于报告主机是否可 ...

  2. Solution -「CF113D」Museum

    Upd 2021.10.21 更改了状态定义. 记 \(S(u)\) 表示 \(u\) 结点的相邻结点的集合. 又记 \(p(u)\) 表示走到了 \(u\) 且下一步继续留在 \(u\) 结点的概率 ...

  3. 倍增求RMQ

    RMQ,即区间最值查询,给定一个序列,求区间l-r的最大值.最小值. st表求RMQ,预处理On*logn,查询O1. 预处理: void init_rmq() { for(rll j=1;j< ...

  4. 【PMP学习笔记】第1章 PMP体系引论

    一.什么是项目? 项目是为创造独特的产品.服务或成果而进行的临时性工作. 项目管理是把事办成的方法论,万物皆可项目. 项目的特性 临时性:有明确的"起"和"止" ...

  5. 关于hive分区,你知道多少呢?

    ​ 文末查看关键字,回复赠书 一.理论基础 1.Hive分区背景 在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,因此建表时引入 ...

  6. Luogu[YNOI2019]排序(DP,线段树)

    要最优?就要一步到位,不能做"马后炮",走"回头路",因此将序列映射到一个假定最优序列,发现移动原序列等价于删除原序列元素,以便生成最大不下降子序列.可线段树维 ...

  7. 基于bert_bilstm_crf的命名实体

    前言 本文将介绍基于pytorch的bert_bilstm_crf进行命名实体识别,涵盖多个数据集.命名实体识别指的是从文本中提取出想要的实体,本文使用的标注方式是BIOES,例如,对于文本虞兔良先生 ...

  8. 盘点Vue2和Vue3的10种组件通信方式(值得收藏)

    Vue中组件通信方式有很多,其中Vue2和Vue3实现起来也会有很多差异:本文将通过选项式API 组合式API以及setup三种不同实现方式全面介绍Vue2和Vue3的组件通信方式.其中将要实现的通信 ...

  9. Excelize 2.3.2 发布,Go 语言 Excel 文档基础库,2021 年首个更新

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  10. redis-zset命令

    一.BZPOPMAX key [key ...] timeout BZPOPMAX 是有序集合命令 ZPOPMAX带有阻塞功能的版本. 在参数中的所有有序集合均为空的情况下,阻塞连接.参数中包含多个有 ...