
MVC
Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),
视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示
MTV
Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。 T 代表模板 (Template):负责如何把页面展示给用户(HTML)。 V 代表视图(VIEw): 负责业务逻辑,并在适当时候调用Model和Template。除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的VIEw处理,VIEw再调用相应的Model和Template,MTV的响应模式如下所示:
一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),2. Django的下载与基本命令
视图函数调用模型,模型去数据库查找数据,
然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。
pip3 install django 下载
01 django-admin.py startproject mysite 创建项目
查看创建项目的结构: tree . /F
E:\>CD E:\Studypython\Django\web_Django
E:\Studypython\Django\web_Django>django-admin startproject mysite
当前目录下会生成mysite的工程,目录结构如下urls.py
网址入口,关联到对应的vIEws.py中的一个函数(或者generic类),访问网址就对应一个函数。
views.py处理用户发出的请求,从urls.py中对应过来,通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。
models.py与数据库 *** 作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。
forms.py表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。
templates 文件夹
vIEws.py 中的函数渲染templates中的HTML模板,得到动态内容的网页,当然可以用缓存来提高速度。
admin.py后台,可以用很少量的代码就拥有一个强大的后台。
settings.pyDjango 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。
manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。 settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。 urls.py ----- 负责把URL模式映射到应用程序。
在mysite目录下创建应用02 python manage.py startapp blog 创建应用
.创建应用 : 在一个项目中 可以创建多个应用 每个应用进行一种业务处理
打开黑屏终端进入webpython 目录下的 webpython 目目录
执行 python manage.py startapp blog
03 启动django项目3. 基于Django实现的一个简单示例
python manage.py runserver 8080
urls路由控制器
from django.contrib import adminfrom django.urls import pathfrom app01 import vIEwsurlpatterns = [ path(‘admin/‘,admin.site.urls),path(‘index/‘,vIEws.index),]
vIEws视图 from django.shortcuts import render# Create your vIEws here.def index(request): import datetime Now=datetime.datetime.Now() ctime=Now.strftime("%Y-%m-%d %X") return render(request,"index.HTML",{"ctime":ctime})
templates 模板
<!DOCTYPE HTML><HTML lang="en"><head> <Meta charset="UTF-8"> <Title>Title</Title></head><body><h4>当前时间:{{ ctime }}</h4></body></HTML>
总结
以上是内存溢出为你收集整理的二 .Django简介全部内容,希望文章能够帮你解决二 .Django简介所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)