1.简介
Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。它是一个开放源代码的Web应用框架,由Python写成。Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。采用了MVC的软件设计模式,即模型M,视图V和控制器C。
2.安装
python安装:安装之前需要先安装好python,由于python2即将不再支持,推荐用python3,然后因为原生python很多常用的包都没安装,故推荐直接下载安装Anaconda,基本上各种包应有尽有,无需再另外安装,而且Anaconda里的jupyter做交互式运行非常方便,非常适合做算法
IDE安装:由于我们使用Django基本上都是用于开发,所以Anaconda不那么适合,故我们可使用另外一款IDE来进行开发演练Django:PyCharm,选择社区版免费的就行了,在pycharm使用的时候需要把解释器,也就是python指向Anaconda里带的哪个python.exe
Django安装:最方便的就是采用pip安装,pip install Django,安装完成后输入下面命令测试是否安装成功
>>> import django
>>> django.get_version()
3.创建项目
3.1.在window的dos或者linux里的命令行选择好目录,开始创建第一个项目,建议在pycharm里terminal里做
3.2.创建好项目后,会生成下面几个文件
- HelloWorld: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- HelloWorld/settings.py: 该 Django 项目的设置/配置。
- HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
3.3.开始测试,运行python manage.py runserver 127.0.0.1:8000,如果网页自动打开如下,则项目创建成功
3.4.简单的视图设置
在先前创建的 HelloWorld 目录下的 HelloWorld 目录新建一个 view.py 文件,并输入代码:
HelloWorld/HelloWorld/view.py 文件代码:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ")
接着,绑定 URL 与视图函数。打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:
HelloWorld/HelloWorld/urls.py 文件代码:
from django.conf.urls import url
from . import view
urlpatterns = [ url(r'^$', view.hello),
]
整个目录结构如下:
$ tree
.
|-- HelloWorld
| |-- __init__.py
| |-- __init__.pyc
| |-- settings.py
| |-- settings.pyc
| |-- urls.py # url 配置
| |-- urls.pyc
| |-- view.py # 添加的视图文件
| |-- view.pyc # 编译后的视图文件
| |-- wsgi.py
| `-- wsgi.pyc
`-- manage.py
完成后,启动 Django 开发服务器,并在浏览器访问打开浏览器并访问
我们也可以修改以下规则:
HelloWorld/HelloWorld/urls.py 文件代码:
from django.urls import path
from . import view
urlpatterns = [ path('hello/', view.hello),
]
通过浏览器打开 http://127.0.0.1:8000/hello,输出结果如下:
注意:项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入,所以如果你已经启动了服务器则不需手动重启
附上urls.py的脚本内容
"""HelloWorld URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.urls import path
from . import view,testdb
'''
urlpatterns = [
# r'^$' 的作用和path的('')一样
url(r'^$',view.hello)
]
urlpatterns = [
path('',view.hello),
path('hello/',view.hello2)
]
'''
urlpatterns = [
url(r'^hello$',view.hello),
path('testdb/',testdb.testdb),
path('testdb1/',testdb.testdb1),
url(r'^testdb2&',testdb.testdb2),
path('testdb3/',testdb.testdb3)
]