Django基础day01
后端(******)
软件开发结构c/s
http协议的由来  sql语句的由来     统一接口统一规范
HTTP协议
1.四大特性
1.基于TCP/IP作用于应用层之上的协议
	2.基于请求响应
	3.无状态
		cookie session token...
	4.无连接
		websocket长连接
2.数据格式
	请求格式
		请求首行
		请求头
		请求体
3.响应状态码
	用数字表示一串语言解释
今日内容
纯手撸简易web框架
基于第三方模块帮你撸
	views.py           里面的放的是函数  我们管这些函数叫视图函数         视图层
	urls.py            里面放的是 路由(后缀)与视图函数的对应关系          路由层
	templates文件夹    里面放的全是html文件                               模板层
动静态网页
	静态网页
		数据是写死的 万年不变(哪怕改变了 也是人为直接修改)
	动态网页
		数据是实时获取的
			eg:
				1 后端代码动态获取  当前时间
				2 数据是从数据库查询出来的  
	题目1
		访问页面 页面上展示当前访问的时间
	题目2
		访问页面 页面上展示后端用户字典 并且在前端页面上可以
		利用一些简便的方式操作字典取值
jinja2模板语法
	专门用来处理后端数据与html页面的交互
	模板语法(极其贴近python后端语法)
		让你能够在html页面上 也能够用后端python语法来操作后端传递过来的数据
	<p>{{ userDic }}</p>
	<p>{{ userDic.username }}</p>
	<p>{{ userDic['age'] }}</p>
	<p>{{ userDic.get('hobby') }}</p>
	<p>{{ userDic.get('hobby').0 }}</p>
	<p>{{ userDic.get('hobby').1 }}</p>
	<p>{{ userDic.get('hobby').2 }}</p>
	{% for user_dic in user_list %}
		<tr>
			<td>{{ user_dic.id }}</td>
			<td>{{ user_dic.username }}</td>
			<td>{{ user_dic.password }}</td>
		</tr>
	{% endfor %}
	模板的渲染  将后端传递给html文件的数据  在后端处理好 生成一个完整的html文件的过程
	注意 模板的渲染是在后端完成的 跟前端没有关系
结合前端 自己写的后端框架  数据库(前端动态展示数据库数据)
python三大主流web框架(了解知识)
	django  大而全 自带的组件和功能非常非常多  						类似于航空母舰
			不足之处:写小项目的时候 可能会比较笨重(大材小用)
	flask   小而精 短小精悍  自带的组件和功能特别特别少  		    类似于游骑兵
			基本全部依赖于第三方组件
			不足之处:受限于第三方模块的影响比较大
			如果将flask所有第三方模块加起来  能够直接盖过django
	tornado 异步非阻塞  这个框架甚至可以用来开发游戏服务器
	a:socket部分
	b:路由匹配
	c:模板语法
	django:
		a用的别人的wsgiref(django默认的)
		b自己写的
		c自己写的
	flask:
		a用的别人的werkzeug
		b自己写的
		c用的别人的jinja2
	Tornado:
		a,b,c都是自己写的
django框架介绍
	注意事项
		1.计算机名称不能有中文
		2.python解释器不要使用3.7版本  推荐使用版本3.4~3.6
		3.一个pycharm窗口 只能跑一个项目
	django版本问题
		django版本以1.11.11为主(1.11.9~1.11.13)
	如何检验django是否安装成功
		命令行敲 django-admin
	命令行创建项目
		1.创建django项目
			django-admin startproject 项目名(例如mysite)
		2.启动django项目
			切换到项目文件夹下
			python3 manage.py runserver
			python3 manage.py runserver 127.0.0.1:8080
		3.创建应用(django支持多app开发)
			python3 manage.py startapp app01
		注意
			1.不会自动帮你创建templates文件夹
			2.配置文件中不会自动帮你书写templates文件路径
	app的概念
		django是一个以开发app为主要功能的web框架
		app就是application应用的意思
		一个django项目就是一所大学(空的架子 本身没有任何功能)
		而app就类似于大学里面的各个学院
		一个空的django本身没有任何作用 仅仅是为app提高前期的环境配置
		你可以根据功能的不同 开发多个app
		一个app对应一个具体的功能模块
			用户相关的功能  用户相关的app
			订单相关的功能  订单相关的app
			商品相关的功能  商品相关的app
	每一个app都有自己独立的功能
	******************************注意***************************
	创建好的app需要在django配置文件中注册方可生效
	INSTALLED_APPS = [
		'django.contrib.admin',
		'django.contrib.auth',
		'django.contrib.contenttypes',
		'django.contrib.sessions',
		'django.contrib.messages',
		'django.contrib.staticfiles',
		# 'app01'  # 简便写法
		'app01.apps.App01Config'  # 最完整的写法
	]
	pycharm创建项目
		1.创建应用的时候 可以使用简便方式
			Tools >>> run manage.py task
		2.一定要确保同一个端口 同一时间只能启一个django项目
		3.配置文件中针对templates文件夹的路径 如果是空的需要你手动配置
			TEMPLATES = [
				{
					'BACKEND': 'django.template.backends.django.DjangoTemplates',
					'DIRS': [os.path.join(BASE_DIR, 'templates')]
					,
					'APP_DIRS': True,
					'OPTIONS': {
						'context_processors': [
							'django.template.context_processors.debug',
							'django.template.context_processors.request',
							'django.contrib.auth.context_processors.auth',
							'django.contrib.messages.context_processors.messages',
						],
					},
				},
			]
	django文件功能
		django项目名
			项目同名的文件夹
				settings.py  暴露给用户可以配置的配置文件
				urls.py      路由与视图函数对应关系
			manage.py        django的入口文件
			应用名文件夹
				migrations文件夹     所有数据库相关的操作记录
				admin.py             django admin后台管理
				apps.py              注册app使用
				models.py            放所有数据库相关的模型类
				tests.py			 测试文件
				views.py             处理业务逻辑的视图函数
django基本配置及注意事项
django小白必会三板斧
	HttpResponse  返回字符串
	render        返回html文件
					可以给html页面传值
			def login(request):
				user_dic = {'username':'jason','password':'123'}
				return render(request,'login.html',{'xxx':user_dic})
	redirect       重定向
				1.直接写你本网站的路径后缀
				2.也可以全路径
			def home(request):
				# return redirect('/login')  # 重定向
				return redirect('https://www.baidu.com')  # 重定向
注意
	django默认是自动重启的
		重启机制
			内有检测机制 实时检测所有文件的变化
			有时候会产生 你代码还没写完 就自动重启报错的情况 不用管
		每次写完代码之后 自己手动重启												
											Django基础day01的更多相关文章
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
		
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
 - Django 基础教程
		
Django 基础教程 这是第一篇 Django 简介 » Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! 你一定可以学会,Django 很简单 ...
 - python的django基础篇
		
一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...
 - Python学习(二十六)—— Django基础一
		
转载自:http://www.cnblogs.com/liwenzhou/p/8258992.html 一.Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的 ...
 - Django基础(一)
		
Django基础(一) 知识预览 Django基本命令 二 路由配置系统(URLconf) 三 编写视图 四 Template 五 数据库与ORM admin的配置 一 什么是web框架? 框架,即f ...
 - python3之Django基础篇
		
一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...
 - DJango 基础 (1)
		
django基础 知识点: 基本认知 工具准备 新建项目 目录及文件说明 开发服务器 创建视图函数 新建应用(app) 1.基本认知 Django是用Python开发的一个免费开源的Web框架,可以用 ...
 - Django基础和基本使用
		
Django基础 Django是Python下的一款著名的Web框架 框架 任何语言进入到高级部分时,会有认证.session.http.连接数据库等等功能操作,没有框架时需要自己实现 框架 是整个或 ...
 - {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm
		
Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...
 
随机推荐
- Java每日一面(Part1:计算机网络)[19/11/25]
			
作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1. HTTP相关[2] 1.1Get请求和Post请求的区别 从三个层面来回答: 1.1.1 从HTTP报文层面:  Get请求将请求信息放在UR ...
 - Redis面试题详解:哨兵+复制+事务+集群+持久化等
			
Redis主要有哪些功能? 1.哨兵(Sentinel)和复制(Replication) Redis服务器毫无征兆的罢工是个麻烦事,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. ...
 - 性能测试——记weblogic 连接池满无法链接故障诊断过程
			
记weblogic 连接池满无法链接故障诊断过程 前段时间公司负责建行的一个票据系统在,上线前几个分行试运行环境下,每天后台日志都会报oracle.jdbc.xa.OracleXAException, ...
 - 设计模式之工厂模式(Factory)
			
转载请标明出处:http://blog.csdn.net/shensky711/article/details/53348412 本文出自: [HansChen的博客] 设计模式系列文章: 设计模式之 ...
 - 在IOS中实现新浪微博OAuth认证
			
主要讲解在ios中的认证流程,至于如何得到新浪用户授权账号,地址,这些可以见视频0506. 1.用UIWebView访问新浪授权页面https://api.weibo.com/oauth2/autho ...
 - 英语口语考试资料Volunteers
			
Being a volunteer is great! There are lots of volunteers around us now. And they don’t do it ...
 - Haproxy安装部署文档及多配置文件管理方案
			
一.部署安装 二.软件配置 三.系统服务 四.日志配置 五.小结 文章目录 最近我在负责一个统一接入层的建设项目,涉及到 Haproxy 和 ospf 的运维部署,本文分享一下我在部署 Haproxy ...
 - window.open()打开新窗口  及参数
			
在jsp页面中需要使用到弹出窗口,想到js的window对象有一个open方法可以弹出窗口,于是对open方法进行记录. 首先是open方法的语法及定义: 定义: open() 方法用于打开一个新的浏 ...
 - NSURLSession的用法
			
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ //[self getTest]; ...
 - Centos7使用Yum安装高版本的LNMP
			
[摘要] 本文旨在介绍使用yum的方式安装一些高版本的NGINX.MySQL.PHP服务.当然如果觉得红帽给的就够用,就用红帽给的就行. 在红帽系列的Linux操作系统中,nginx/mysql/ph ...