前言

Django 1.11
Django 2.0

Django 1.x 和 Django2.x 学习笔记

更新历史

2018年05月04日 - 初稿

阅读原文 - https://wsgzao.github.io/post/django/

扩展阅读

Django - https://www.djangoproject.com/


Django 简介

Django 文档 - https://docs.djangoproject.com/zh-hans/2.0/

使用Anaconda实现Python2和Python3共存及相互转换 - https://wsgzao.github.io/post/anaconda/

Django 1.11

以下操作为 anaconda python3.6 环境下进入Anaconda Prompt安装django 1.11的实践过程

https://docs.djangoproject.com/en/1.11/intro/tutorial01/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 在python3.6环境下进入Anaconda Prompt创建django1.x专用虚拟环境
conda create -n django1.x
# 激活专用虚拟环境
conda activate django1.x
# 查看conda当前django可用版本
conda search django
conda install django==1.11.10
# 切换到虚拟环境家目录
cd C:\Users\wsgzao\AppData\Local\conda\conda\envs\django1.x
# 创建项目
django-admin startproject mysite
# 启动Django中的开发服务器
cd mysite
python manage.py runserver
# 创建app
python manage.py startapp myapp
# 帮助文档
python manage.py -h
# Django命令
python manage.py <command> [options]

Django 2.0

以下操作为 anaconda python3.6 环境下进入Anaconda Prompt安装django 2.0的实践过程

https://docs.djangoproject.com/zh-hans/2.0/intro/tutorial01/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 在python3.6环境下进入Anaconda Prompt创建django2.x专用虚拟环境
conda create -n django2.x
# 激活专用虚拟环境
conda activate djangox.x
# 查看conda当前django可用版本
conda search django
conda install django
# 切换到虚拟环境家目录
cd C:\Users\wsgzao\AppData\Local\conda\conda\envs\django2.x
# 创建项目
django-admin startproject mysite
# 启动Django中的开发服务器,万不要将这个服务器用于和生产环境相关的任何地方,这个服务器只是为了开发而设计的
cd mysite
python manage.py runserver
# 默认情况下,runserver 命令会将服务器设置为监听本机内部 IP 的 8000 端口,如果你想更换服务器的监听端口,请使用命令行参数
python manage.py runserver 8080
# 0 是 0.0.0.0 的简写
python manage.py runserver 0:8000
# 帮助文档
python manage.py -h
# Django命令
python manage.py <command> [options]

# mysite目录结构
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py

这些目录和文件的用处是:

  • 最外层的:file: mysite/ 根目录只是你项目的容器, Django 不关心它的名字,你可以将它重命名为任何你喜欢的名字。
  • manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin and manage.py 获取所有 manage.py 的细节。
  • 里面一层的 mysite/ 目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如 mysite.urls).
  • mysite/init.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python 初学者,阅读官方文档中的 更多关于包的知识。
  • mysite/settings.py:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django settings 了解细节。
  • mysite/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。阅读 URL调度器 文档来获取更多关于 URL 的内容。
  • mysite/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。

会自动重新加载的服务器 runserver

用于开发的服务器在需要的情况下会对每一次的访问请求重新载入一遍 Python 代码。所以你不需要为了让修改的代码生效而频繁的重新启动服务器。然而,一些动作,比如添加新文件,将不会触发自动重新加载,这时你得自己手动重启服务器。

文章目录
  1. 1. 前言
  2. 2. 更新历史
  3. 3. Django 简介
  4. 4. Django 1.11
  5. 5. Django 2.0