zoukankan      html  css  js  c++  java
  • DJango基础

    DNS解析原理

    1.根域
    2.顶级域(.com,.orm,.edu)
    3.权威DNS域(163.com,baidu.com)
    4.二级域(www.163.com,mail.163.com,)

    http协议

    Http 短连接
    请求头:
    connection: keep-alive (默认的)
    token: dbnsjandjsandjsandjsandjksa (自定义)

    请求体:
    dbsajbdjsabdjsa
    响应头:
    响应的状态码:
    200 403 404 500 502 (bad gateway)

    响应体:(字符串)
    用户看到的所有的内容

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

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

    数据格式之请求:
    请求首行
    请求头(一堆k,v键值对)

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

    web框架

    a. socket服务端改造
    b. 路由系统:
    将 uri 与 业务处理逻辑函数 对应

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

    c. 模板引擎渲染
    将数据库中的数据与html进行相结合, 模板的渲染

    django基础

    ps: utf-8 不要使用中文

    创建django:
    两种方式:
    a.命令行
    b.pycharm

    启动django
    方式1(命令行创建):
    创建django项目
    django-admin startproject 项目名
    创建app应用
    python3 manage.py startapp app01
    启动django项目
    python3 manage.py runserver
    ps:用命令行创建django默认不会自动创建templates文件夹
    需要你手动自己创建(注意改文件夹路径是否被添加配置文件中)

    方式2(pycharm创建)
    FILE >>> new project 选择第二个django 需要注意名字不能有中文,选择本地的解释器,勾选后台管理
    创建app
    pycharm命令行创建
    python3 manage.py startapp app01
    Tools下面run manage task功能栏
    启动点小绿色箭头

    强调:
    	1.用django一定要保证只有一个在运行状态  切记切记!!!!!!!
    	2.一定记得清浏览器的缓存
    

    模板的渲染:

    后台:
    name = "zekai"
    前台:
    {{name}}

    列表:
    {% for item in mylist%}
    {{item}}
    % endfor %}

    {{mylist.0}}
    {{mylist.1}}

    字典:
    {% for key, val in mydict.items %}
    {{key}} --- {{val}}
    {% endfor %}

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

    模板渲染 模板语法需要依赖于第三方模块
    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 %}
    

    url:
    request: 用户所有的请求信息:
    请求方式: request.method
    获取post中的内容: request.POST.get('key')
    获取get中的内容 :request.GET.get('key')
    登陆
    redirect('/login/')

    django小白必会三板斧

    from django.shortcuts import render,HttpResponse,redirect

    HttpResponse 返回字符串
    render 返回一个html页面
    两种给前端页面传值的方式
    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())
    

    redirect 重定向

  • 相关阅读:
    深入理解net core中的依赖注入、Singleton、Scoped、Transient(一)
    ActionDescriptorProviderContext
    IActionDescriptorProvider
    JWT签名算法中HS256和RS256有什么区别 转载
    JWT 使用的另一种声音
    JWT(Json Web Token):一种在Web应用中安全传递信息的规范 转载
    http 的session 工作原理。
    一般安全机制
    android 上传图片 .html 和android 客户端
    interpolator, typeEvaluator 以及属性动画的参数
  • 原文地址:https://www.cnblogs.com/huanghongzheng/p/11170019.html
Copyright © 2011-2022 走看看