• 初识Django


    在开始见识Django之前,先看一下HTTP协议,因为这是必要的。

    HTTP协议

    http协议 :超文本传输协议

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

    请求方式

    get请求: 向别人要数据

    post请求: 向别人提交数据(例如:用户登录)

    URL

    url 就是统一资源定位符

    动静态网页

    静态网页:数据是写死的,万年不变

    动态网页:数据是实时获取的

    例如:1.后端获取当前时间展示到前端

    ​ 2.后端获取数据库中的数据展示到前端

    后端获取的数据 传递给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三大主流web框架

    Django:

    ​ 大而全,自带的功能特别特别多 ,像航母一样。

    ​ 缺点是有时候会过于笨重。

    Flask:

    ​ 小而精, 自带的功能特别特别少, 类似于游骑兵

    ​ 但是他得第三方的模块特别特别多,如果把flask的第三方模块全部加起来,完全可以超过 django。

    ​ 是一个比较依赖第三方模块的框架。

    Tornado

    ​ 异步非阻塞

    ​ 牛逼到可以开发游戏服务器

    A:socket部分
    B:路由与视图函数对应关系
    C:模板语法
    
    Django:
    	A用的别人的  wsgiref
    	B自己写的
    	C自己写的
    Flask
    	A用的别人的  werkzeug(基于wsgiref)
    	B自己写的
    	C用的别人的  jinja2
    Tornado
    	三者全是自己写的
    

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

    django版本问题
    1.X 2.X 现在市面上用的比较多的还是1.X
    推荐你使用1.11.9~1.11.13

    django安装
    pip3 install django==1.11.11

    如何验证django是否安装成功
    命令行直接敲django-admin

    一个django项目就类似于是一所大学,而app就类似于大学里面的学院
    django其实就是用来一个个应用的
    一个app就相当于一块独立的功能
    用户功能
    管理功能
    django支持任意多个app

    如何使用
    命令行使用
    创建django项目
    django-admin startproject mysite
    启动django项目
    python manage.py runserver
    创建应用app
    python manage.py startapp app01

            注意:
                1.新创建的app需要你去settings配置文件中注册
                pycharm只会帮你注册第一个你在创建项目的时候写的应用
    





        注意:
            1.使用命令行创建django项目 不会自动帮你创建templates文件夹
        只能自己创建
            2.settings文件中 需要你手动在TEMPLATES写配置
                os.path.join(BASE_DIR, 'templates')
    

    pycharm使用
    

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

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

  • 相关阅读:
    P、NP及NPC问题
    latex test3
    latex test2
    test
    整体二分
    bzoj2819 nim (树上带修改查询路径异或和)
    kmp模板题
    KM的三种写法比较
    电视转播
    树状数组处理区间查询和区间修改的问题
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11701427.html
Copyright © 2020-2023  润新知