zoukankan      html  css  js  c++  java
  • Day16 Django

    学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.这个就可以了
    
  • 相关阅读:
    中国剩余定理
    Codeforces 240 F. TorCoder
    ZOJ 1202 Divide and Count
    洛谷 3380 【模板】二逼平衡树(树状数组套权值线段树)
    bzoj 3196/ Tyvj 1730 二逼平衡树 (线段树套平衡树)
    uva 10791
    uva 699 The Falling Leaves
    uva 839 Not so Mobile
    2017 济南综合班 Day 5
    2017 济南综合班 Day 4
  • 原文地址:https://www.cnblogs.com/sexiaoshuai/p/7767172.html
Copyright © 2011-2022 走看看