当前位置: 首页 > news >正文

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

 

转载于:https://www.cnblogs.com/sexiaoshuai/p/7767172.html

相关文章:

  • Paros proxy:网页程序漏洞评估代理
  • HTML 5 Web 存储-sessionStorage和localStorage
  • 使用Prometheus监控Cloudflare的全球网络
  • 歌词显示控件的实现下——自定义View
  • [内核驱动] miniFilter 内核层与应用程序通信
  • 关于form表单input text 未绑定回车事件跳转问题
  • Android照片墙完整版,完美结合 内存方案 LruCache 和 硬盘方案 DiskLruCache
  • CentOS 7下搭建LAMP并把MySQL单独分离
  • Elasticsearch集群如何扩容机器?
  • React组件间通讯
  • 部分域名返回servfailed(案例)
  • CCNP精粹系列之二十三--BGP单自治系统通信,推荐
  • Ext-js 分页实现 (后台用Spring MVC)
  • 网络知识===wireshark抓包数据分析(一)
  • 用VNC进行远程维护
  • [译]前端离线指南(上)
  • java小心机(3)| 浅析finalize()
  • Mac转Windows的拯救指南
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 简析gRPC client 连接管理
  • 爬虫模拟登陆 SegmentFault
  • 浅谈web中前端模板引擎的使用
  • 如何胜任知名企业的商业数据分析师?
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 学习Vue.js的五个小例子
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (6)设计一个TimeMap
  • (力扣)1314.矩阵区域和
  • (转)关于多人操作数据的处理策略
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .net反编译的九款神器
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • @RequestBody与@ResponseBody的使用
  • @WebServiceClient注解,wsdlLocation 可配置
  • [04] Android逐帧动画(一)
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [2023年]-hadoop面试真题(一)
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下
  • [BetterExplained]书写是为了更好的思考(转载)
  • [C++] sqlite3_get_table 的使用
  • [Deep Learning] 神经网络基础
  • [DM复习]Apriori算法-国会投票记录关联规则挖掘(上)
  • [Hadoop in China 2011] 蒋建平:探秘基于Hadoop的华为共有云
  • [HAOI2016]食物链