学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.这个就可以了