初识 Django

Django介绍

HTTP协议:

定义:超文本传输协议:规定了客户端与服务端消息传输的格式

四大特性:

		1.基本TCP/IP 协议作用于应用层的协议
		2.基于请求响应
		3.无状态
		4.无连接

数据格式之请求:

		请求首行
		请求头(一堆k,v键对))
		 (空格)
		请求体(post请求携带的数据)

数据格式之响应:

		响应首行
		响应头(一堆k,v键对)
		 (空格)
		响应体(post请求携带的数据)

响应状态码:

		1xx:服务器已经成功接收到你的数据正在处理,你可以继续提交数据
		2xx:请求成功 服务器已经成功接收到你的数据发送给你了
		3xx:重定向
		4xx:请求资源错误/不存在
		5xx:服务器错误

动静态网页

  静态网页:
    页面上的数据都是写死的,万年不变
  动态网页:
    页面上的数据是从后端动态获取的
    比如后端获取当前时间
    后端获取数据库数据然后传递给前端页面

模板渲染

后端生成的数据直接传递给前端页面使用(并且前端页面可以灵活的操作改数据) >>> 模板语法

模板渲染 模板语法需要依赖于第三方模块
pip install jinja2

模板语法  jinja2支持前端直接使用类似于python的语法操作数据
	<p>{{ user_dic }}</p>
	<p>{{ user_dic.name }}</p>
	<p>{{ user_dic['password'] }}</p>
	<p>{{ user_dic.get('name') }}</p>
	{% for user in user_dict %}  <!--[{},{},{},{}]-->
		<tr>
			<td>{{ user.id }}</td>
			<td>{{ user.name }}</td>
			<td>{{ user.password }}</td>
		</tr>
	{% endfor %}


什么是web框架?

python三大主流web框架
	Django:大而全,自带了很多功能模块,类似于航空母舰 (缺点:有点笨重)
	Flask:短小精悍,自带的功能模块特别少,大部分都是依赖于第三方模块(小而轻)
	Tornado:异步非阻塞 主要用在处理高io 多路复用的情况 可以写游戏后端
	
a:socket
b:路由与视图函数
c:模板渲染

Django:
	a用的别人的 wsgiref
	b自己写的
	c自己写的
Flask:
	a用的别人的 werkzeug
	b自己写的
	c用的别人的 jinja2
Tornado:
	a,b,c都是自己写的

Django安装配置

安装 :pip3 install django==1.11.11
一、 使用 :django-admin startproject 项目名称
		创建app :cd 项目名称  python3 manage.py startapp app01(子项目)

	文件目录介绍:
		
	
		-项目名
		----settings:全局配置信息
		----urls:总路由,请求地址跟视图函数的映射关系
		-应用名
		----mingrations:数据库迁移记录
		----admin.py:Django后台管理相关
		----models.py 数据库表模型
		----views 视图函数()

		--static 存放(静态文件、css、js、img)
		--templates : html存放
		--manage.py ---项目入口,执行一些命令
		
二、新建目录
	-static 存放静态文件(css、文件) 在settings中 TEMPLATES中查看路径存不存在
		STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')]
	-templates  html存放,在settings中 TEMPLATES中查看路径存不存在 
		
三、配置settings.py
	(1)每新建一个app必须在配置文件中注册:在 INSTALLED_APPS 下添加 'app01.apps.App01Config'
	(2)TEMPLATES  中'DIRS':[
			os.path.join(BASE_DIR, 'templates')
			]
	(3)在配置文件最后加 :STATICFILES_DIRS=[
    		os.path.join(BASE_DIR,'static'),
		  ]
	(4)要把 MIDDLEWARE 中(注释掉)...CsrfViewMiddleware
四、数据库建表迁移指令
	python3 manage.py makemigrations
	python3 manage.py migrate
五、执行项目:
	python3 manage.py runserver 127.0.0.1:8001

django小白必会三板斧

引用:

from django.shortcuts import render,HttpResponse,redirect

⑴ HttpResponse : 返回字符串

⑵ redirect :重定向

⑶ render : 返回一个html页面

render 两种给前端页面传值的方式
    def reg(request):
        user_dict = {'name':'jason','password':'123'}
        return render(request,'reg.html',{'user_dict':user_dict})

    def reg(request):
        user_dict = {'name':'jason','password':'123'}
        return render(request,'reg.html',locals())

posted @ 2019-06-05 14:49  代码创造一切  阅读(254)  评论(1编辑  收藏  举报