学Django之前,先看下http基础,老师的网页地址:

web框架 - Yuan先生 - 博客园 http://www.cnblogs.com/yuanchenqi/articles/7690561.html

Django-MTV - Yuan先生 - 博客园 http://www.cnblogs.com/yuanchenqi/articles/7629939.html

MTV模型

Django的MTV分别代表:

Model(模型):负责业务对象与数据库的对象(ORM)

Template(模版):负责如何把页面展示给用户

View(视图):负责业务逻辑,并在适当的时候调用Model和Template

此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template

MTV模型:
URL: url的视图与视图函数的映射关系
http://jd.com/caidian caidian-----foo() 例如这样
view: 逻辑处理
models:与数据库有关的操作
template(模板):与html文件相关的操作
用户先发送一个URL给URL控制器,URL控制器会去解析这个URL,不同的URL访问会有不同的逻辑处理(简单来说,URL控制器就是做的对应关系)。

Django:

Django:
get请求:
(1)地址栏输入url
(2) <a url="">点击</a> 其实发送的是一次url的地址
(3) <form action="请求url" method="get"> </form>
post请求:
(1) <form action="请求url" method="post"> </form> get和post暂时学到的只有这三种。 url: http:www.baidu.com/wupeiqi/articles/123.html
协议:http
域名:www.cnblog.com
路径:/wupeiqi/articles/123.html

关于http协议:

基于TCP协议
请求协议:
请求首行:里面放请求方式,比如是GET 或者url ,决定的是数据放在哪。
请求头: 浏览器要告诉服务器的信息
空行 一定要有空行
请求数据 请求体 注意,GET请求是不会将请求数据放在请求体里边的,他的数据是放在请求首行里边。而POST是有请求数据的,放在请求体里边 响应协议:(服务器发送给浏览器的)
响应首行: HTTP协议版本号,状态码,状态消息
响应头:
空行
响应内容: html页面

Django的使用:

怎么去使用Django:
Windows上找到你python安装的文件夹,然后找到script这个文件夹,利用pip来进行安装。
pip install Django #有时候安装这个会报错,是因为Django被火墙禁了,换个地址
pip install -i https://pypi.douban.com/simple django
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple
这两个地址都可以正常使用 创建一个Django项目:
django-admin startproject 项目名称 一个项目可以有多个应用,一个应用可以被多个项目拥有。
创建完项目后,会出来一个文件夹,里边包括四个文件:
manage.py: 操作Django项目
mysite: 存放全局性的信息,跟着你创建的项目名称一样
__init__.py: 启动文件
settings.py: 配置文件
urls.py: 路径与视图的映射关系(路由控制系统)
wsgi.py: 放socket端口信息(解析,封装数据的过程) 创建一个应用:
python manage.py startapp appname(应用名称)
#必须进入你创建的项目目录里边执行 项目里边包含:
views:存放试图函数
models:处理数据库 把Django启动起来:
在Pycharm中创建Django,
templates是存放网页文件的。
启动项目:
python manage.py runserver (ip PORT)
如果IP和PORT不写的话,默认起的是本机的8000端口
在pycharm里面的Terminal中启动就好 1,先去映射关系里边写对应关系
在urls.py 里边先写
url(r'^timer/',views.showtime)
2,然后去视图函数views里边写
from * import HttpResponse
def showtime(request):
return HttpResponse("OK")
t=datatime.datatime.now()
return HttpResponse(str(t)) 或者在templates里边写入网页:
def login(request):
return render(request,"login.html") 3,在模块里边导入view.py的函数
直接在url.py 里面导入
from 项目名称 import views 当做验证的时候,
登陆页面: 验证页面:
def valide(request):
username=request.POST.get("user")
password=request.POST.get("pwd")
if username == "yangshuai" and password=="123";
return HttpResponse("验证成功")
else:
return HttpResponse("验证失败")
return redirect("/login/")
#如果做验证页面出现Forbidden的情况,注释掉settings的MIDDLEWARE里面的Django.middleware.csrf.CsrfViewMiddleware.这个就可以了

Day16 Django的更多相关文章

  1. Python之路,Day16 - Django 进阶

    Python之路,Day16 - Django 进阶   本节内容 自定义template tags 中间件 CRSF 权限管理 分页 Django分页 https://docs.djangoproj ...

  2. python开发学习-day16(Django框架初识)

    s12-20160507-day16 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  3. day16 django 笔记

    一 jQuery是什么? [1]   jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. [2]   jQuery是继prototy ...

  4. Day16 Django深入讲解

    参考博客: http://www.cnblogs.com/yuanchenqi/articles/6083427.html http://www.cnblogs.com/yuanchenqi/arti ...

  5. 老男孩python第六期

    01 python s6 day7 上节回顾02 python s6 day7 SNMP使用03 python s6 day7 大型监控架构讲解04 python s6 day7 Redis使用05 ...

  6. S16课件

    Python之路,Day1 - Python基础1 介绍.基本语法.流程控制 Python之路,Day2 - Python基础2 列表.字典.集合 Python之路,Day3 - Python基础3  ...

  7. Django day16 Auth组件

    一:Auth组件 -django内置的用户认证系统,可以快速的实现,登录,注销,修改密码... -怎么用? (1)先创建超级用户: -python3 manage.py createsuperuser ...

  8. Django Form and Modelform Admin定义 高级查询)

    Django的form表单一般具有两种功能 1. 验证输入 2.输入HTML ---------模板----------- from django import forms class BookFor ...

  9. 【django基础】

    一.MTV模型 Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻辑,并在适当的 ...

随机推荐

  1. vbox centos安装增强工具

    就是虚拟机识别不了宿主机的usb接口,这个虚拟机有没有图形界面,看看怎么装. 一个是依赖包问题,另一个就是挂了安装包,但是我怎么找到它并安装上去的问题. 虚拟机是centos6.6哈 vbox4.3. ...

  2. Android Studio 1.0RC1版发布

    Android Studio 1.0RC1 版本发布. 以下是官网该版本说明: Android Studio 1.0 Release Candidate 1 November 20th, 2014:  ...

  3. UNIX环境高级编程——标准I/O库

    对一个进程预定义了三个流,并且这三个流可以自动的被进程使用,它们是:标准输入.标准输出.和标准错误. 标准I/O库提供缓冲的目的是尽可能减少使用read和write的次数. 标准I/O库提供了三种类型 ...

  4. Scipy教程 - 距离计算库scipy.spatial.distance

    http://blog.csdn.net/pipisorry/article/details/48814183 在scipy.spatial中最重要的模块应该就是距离计算模块distance了. fr ...

  5. 【一天一道LeetCode】#79. Word Search

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...

  6. C++ Primer 有感(new和delete表达式)

    定义变量时,必须指定其数据类型和名字.而动态创建对象时,只需指定其数据类型,而不必为该对象命名.取而代之的是,new表达式返回指向性创建的指针. 1.动态创建对象的默认初始化 对于类类型的对象,用该类 ...

  7. 【Unity Shaders】Using Textures for Effects——通过修改UV坐标来滚动textures

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  8. (NO.00001)iOS游戏SpeedBoy Lite成形记(二十三)

    现在还有一个视觉上的问题:玩家每次在游戏开始前选择某一赛道时,无法直观的看到所选的是哪条赛道.只能通过界面上方的gambleLabel中的文字非直观的看到.我们现在来完善它! 为了能让玩家清楚地看到, ...

  9. unity使用UGUI创建摇杆

    1.现在unity做一个项目,各种插件各种包,于是项目资源就无限变大了,其实一些简单的功能可以自己写,这里就是试着使用UGUI编写一个摇杆功能 2.脚本如下: using UnityEngine; u ...

  10. C语言如何分离一个数的高低位,如何将2个字节变成一个字节

    关于这个概念,是我从工作中学习的,虽然在读书的时候就应该要掌握,但是在开发中,这项技能尤其重要.我是做嵌入式开发的,在嵌入式开发过程中,如何对数据操作必然是不可缺少的问题,接下来,我们来看一个例子: ...