Django是python下一个开源的、mvc模式的web应用框架,我们都知道,python版本不向下兼容,下表为Django版本与python版本的对应关系:
Django version | Python versions |
---|---|
1.8 | 2.7, 3.2 (until the end of 2016), 3.3, 3.4, 3.5 |
1.9, 1.10 | 2.7, 3.4, 3.5 |
1.11 | 2.7, 3.4, 3.5, 3.6 |
2.0 | 3.4, 3.5, 3.6 |
2.1 | 3.5, 3.6, 3.7 |
下面我将介绍如何从零使用Django构建一个web应用。
步骤↓
- 安装python环境(此处不介绍),笔者安装的2.7版本。
- 下载Django源码,链接:https://www.djangoproject.com/download/ ,此处下载的1.11.10版本。解压->进入文件夹->执行python setup.py install安装。(安装成功后 Django 位于 Python 安装目录的 site-packages 目录下),若是linux环境,执行如下命令:
tar xzvf Django-1.11.10.tar.gz cd Django-1.11.10 python setup.py install
- 验证:
以上说明安装成功。C:\Users\du>python Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on wi n32 Type "help", "copyright", "credits" or "license" for more information. >>> import django >>> django.get_version() '1.11.10' >>>
- 将python安装目录的script目录加入环境变量,如:D:\Program Files\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\Scripts
- 构建一个项目:进入想要存放项目的路径,执行如下命令:
可以看到在当前目录下,项目已经生成。django-admin.py startproject HelloWorld
#若是windows环境 django-admin startproject HelloWorld
- 启动web服务:进入项目HelloWorld根目录,执行:
显示信息:python manage.py runserver
服务启动成功,打开浏览器访问http://127.0.0.1:8000/,成功进入Django主页面。Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.
到此一个Django项目就搭建完成了,目录结构如下:
|-- HelloWorld
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- manage.py
- HelloWorld: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- HelloWorld/settings.py: 该 Django 项目的设置/配置。
- HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
以下命令可以启动服务:
python manage.py runserver 0.0.0.0:8000
下面将介绍如何使用Django框架开发自己的web应用↓
- HelloWorld 目录下的 HelloWorld 目录新建一个 view.py 文件,并输入代码:
from django.http import HttpResponse def hello(request): return HttpResponse("Hello world ! ")
- 绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:
现在目录结构如下:from django.conf.urls import url from . import view urlpatterns = [ url(r'^$', view.hello), ]
|-- HelloWorld | |-- __init__.py | |-- __init__.pyc | |-- settings.py | |-- settings.pyc | |-- urls.py # url 配置 | |-- urls.pyc | |-- view.py # 添加的视图文件 | |-- view.pyc # 编译后的视图文件 | |-- wsgi.py | `-- wsgi.pyc `-- manage.py
- 浏览器访问http://127.0.0.1:8000/,即可看到打印出的Hello world !
- 修改urls.py:
此时浏览器打开 http://127.0.0.1:8000/hello,即可看到打印出的Hello world !from django.conf.urls import url from . import view urlpatterns = [ url(r'^hello$', view.hello), ]
Django url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。
- regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
- view: 用于执行与正则表达式匹配的 URL 请求。
- kwargs: 视图使用的字典类型的参数。
- name: 用来反向获取 URL。
本章先写到这!