• Djingo初识


    软件开发框架

    软件开发构架

    • c/s客户端 服务端
    • b/s浏览器 服务端
    • ps: bs本质也是cs

    http协议

    • 超文本传输协议
    1.四大特性
    	1.基于TCP/IP之上作用于应用层
    	2.基于请求响应
    	3.无状态 cookis session token...
    	4.无连接 
    			长连接 websocket(HTTP协议的大补丁)
    2.数据格式
    	请求格式
    		请求首行(请求方式,协议版本。。。。)
    		请求头(一大堆k:v键值对)
    		/r/n
    		请求体(真正的数据 发post请求的时候才有 如果是get请求不会有)
    	响应格式
    		响应首行
    		响应头
    		/r/n
    		响应体
    
    3.响应状态码
    	用特定的数字表示一些意思
    	1xx:服务端已经成功接收到了你的数据 正在处理 你可以继续提交其他数据
    	2xx:服务端陈工响应(200请求成功)
    	3xx:重定向
    	4xx:请求错误(403 拒绝访问     	404请求资源不在)
    	5xx:服务器内部错误(500)	
    

    请求方式

    get请求

    • 朝别人要数据

    post请求

    • 向别人提交数据(eg:用户登录)

    什么是url

    url:统一资源定位符
    

    HTTP协议

    1. 纯手撸web框架

      1. 手动书写socket
      2. 手动处理http格式数据
    2. 基于wsgiref模块

      该模块实现了上面两个手动的过程

      根据功能不同拆分成了不同的py文件

      urls.py只放路由与视图函数对应关系

      views.py放视图函数(函数,类)

      拆分完成之后,想要添加功能只需要在上面两个文件做修改即可

    3. 动静态网页

      • 静态网页
        • 数据是写死的 万年不变
      • 动态网页
        • 数据是实时获取的

    那么如何将后端获取的数据传给html页面呢

    后端获取的数据传递给html页面	>>>>:模板的渲染
    jinja2
    pip3 install jinja2
    模板语言(及其贴近python后端语法)
    <p>{{ user }}</p>
    <p>{{ user.name }}</p>
    <p>{{ user['pwd'] }}</p>
    <p>{{ user.get['hobby'] }}</p>
    
    
    
    ##循环
    {% for user_dict in user_list %}
    	<tr>
    			<td>{{ user_dict.id }}</td>
    			<td>{{ user_dict.name }}</td>
    			<td>{{ user_dict.pwd }}</td>
    		</tr>
    {{ %endfor% }}
    

    Python主流框架

    Python有三大主流框架

    Django
    • 大而全,自带功能特别特别多 类似与航空母舰
    • 有时候很笨重
    Flask
    • 小而精 自带的功能特别特别少 类似于游骑兵
    • 第三方模块特别特别多,如果把它的第三方模块全部加起来,完全可以超过django
    • 比较依赖于第三方模块

    Tornado

    • 异步非阻塞
    • 牛逼到可以开发游戏服务器

    Django安装

    安装注意事项
    1. 计算机的名称不能有中文
    2. 一个pycharm窗口就是一个项目
    3. 项目名里尽量不要用中文
    django版本问题

    1.X 2.X 现在市面上用的比较多的还是1.X
    推荐使用1.11.9~1.11.13

    django安装

    pip3 install django==1.11.11

    验证安装
    • win+r
    • cmd
    • django-admin
    使用命令行创建Django项目
    1. 创建django项目

      django-admin start project mysite

    2. 启动django项目

      python manage.py runserver

    3. 创建应用app

      python manage.py startapp app01

    PS:使用python charm创建项目须知

    新创建的app需要在settings配置文件中注册

    pycharm只会帮你注册第一个在创建项目时候写的应用

    PS:使用命令行创建项目须知
    1.使用命令行创建django项目 不会自动帮你创建templates文件夹
    只能自己创建

    ​ 2.settings文件中 需要你手动在TEMPLATES写配置
    ​ os.path.join(BASE_DIR, 'templates')

    python charm使用

    在启动django项目的时候 你一定要确保一个端口只有一个django项目

    项目名
    跟项目名同名的文件夹
    settings.py 暴露给用户的配置文件
    urls.py 路由与视图函数对应关系
    应用名
    migrations文件夹 存放数据库迁移记录的
    admin.py django后台管理
    apps.py 注册相关
    models.py 模型类
    tests.py 测试文件
    views.py 存放视图函数
    templates文件夹 存放html文件
    manage.py django入口文件

  • 相关阅读:
    Blocks to Cubes
    poj1113凸包
    AtCoder Regular Contest 078D
    Codeforces Round #400
    hdu2196树形dp
    Codeforces Round #409
    Codeforces Round #424
    hdu1520树形dp第一题
    Codeforces Round #412
    poj2823单调队列
  • 原文地址:https://www.cnblogs.com/ledgua/p/11722779.html
Copyright © 2020-2023  润新知