参考:http://www.javashuo.com/article/p-xpmrupkq-cv.htmlhtml
MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),具备耦合性低、重用性高、生命周期成本低等优势。python
想要更详细的了解MVC模式? >> 点我web
Django框架的设计模式借鉴了MVC框架的思想,也是分红三部分,来下降各个部分之间的耦合性。正则表达式
Django框架的不一样之处在于它拆分的三部分为:Model(模型)、Template(模板)和View(视图),也就是MTV框架。数据库
Model(模型):负责业务对象与数据库的对象(ORM)django
Template(模版):负责如何把页面展现给用户设计模式
View(视图):负责业务逻辑,并在适当的时候调用Model和Template浏览器
此外,Django还有一个urls分发器,它的做用是将一个个URL的页面请求分发给不一样的view处理,view再调用相应的Model和Template服务器
参考:https://www.runoob.com/django/django-install.html架构
https://www.djangoproject.com/download/
pip方式安装:
pip install Django
源码安装:
下载源码包:https://www.djangoproject.com/download/
输入如下命令并安装:
tar xzvf Django-X.Y.tar.gz # 解压下载包 cd Django-X.Y # 进入 Django 目录 python setup.py install # 执行安装命令
安装成功后 Django 位于 Python 安装目录的 site-packages 目录下。
django-admin startproject HelloWorld
项目的目录结构
$ cd HelloWorld/ $ tree . |-- HelloWorld | |-- __init__.py | |-- settings.py | |-- urls.py | `-- wsgi.py `-- manage.py
目录说明:
启动服务器
接下来咱们进入 HelloWorld 目录输入如下命令,启动服务器:
python3 manage.py runserver 0.0.0.0:8000
0.0.0.0 让其它电脑可链接到开发服务器,8000 为端口号。若是不说明,那么端口号默认为 8000。
在浏览器输入你服务器的 ip(这里咱们输入本机 IP 地址: 127.0.0.1:8000) 及端口号,若是正常启动,输出结果以下:
在先前建立的 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), ]
整个目录结构以下:
$ 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 开发服务器,并在浏览器访问打开浏览器并访问:
咱们也能够修改如下规则:
from django.urls import path from . import view urlpatterns = [ path('hello/', view.hello), ]
经过浏览器打开 http://127.0.0.1:8000/hello,输出结果以下:
注意:项目中若是代码有改动,服务器会自动监测代码的改动并自动从新载入,因此若是你已经启动了服务器则不需手动重启。
Django path() 能够接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。
语法格式:
path(route, view, kwargs=None, name=None)
route: 字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。
view: 用于执行与正则表达式匹配的 URL 请求。
kwargs: 视图使用的字典类型的参数。
name: 用来反向获取 URL。
Django2. 0中可使用 re_path() 方法来兼容 1.x 版本中的 url() 方法,一些正则表达式的规则也能够经过 re_path() 来实现 。
from django.urls import include, re_path urlpatterns = [ re_path(r'^index/$', views.index, name='index'), re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'), re_path(r'^weblog/', include('blog.urls')), ... ]
参考连接:http://www.javashuo.com/article/p-xpmrupkq-cv.html
建立项目:
django-admin startproject mysite
启动项目: 启动项目的时候,须要切换到mysite目录下
python manage.py runserver #默认使用8000端口
命令后面还能够指定参数:
python manage.py runserver 8888 #8888为新指定的端口 python manage.py runserver 127.0.0.1:8000 #还能够指定IP和端口,冒号分割
一个Django项目能够分为不少个APP,用来隔离不一样功能模块的代码。
命令行建立:
python manage.py startapp app01
执行命令后,项目目录下多出一个app01的文件夹,目录结构以下:
app01/ migrations __init__.py __init__.py admin.py apps.py models.py tests.py views.py
Pycharm建立:
可使用PyCharm的manage.py工具来执行命名。在主菜单栏中选择Tools,在下拉菜单中选择Run manage.py task,会出现以下图所示的工具对话框:
在弹出的命令窗口中直接输入下面的命令即可建立app:
使用PyCharm的manage.py工具执行命令时,只用输入命令及参数便可,再也不输入python manage.py了。
输入以上命令后,根据提示输入用户名、邮箱、密码、确认密码。密码的要求至少是不八位,不能和邮箱太接近,两次密码须要一致。