zoukankan      html  css  js  c++  java
  • 第四十四天

    1 web应用

    2 cs和bs架构

    3 http协议----重点  - 

     -请求头:  

     请求首行 get / http/1.1     

    key:value     

    key:value     

        

    请求体的内容     

     -响应头:   响应首行 http/1.1 200 ok   

    响应头:  key:value     

     

     响应体:  html的代码  -状态码: 1开头  2开头 3开头 4开头  5开头

    4 python中主流web框架

     a socke  b 路由和视图函数映射关系  c 模板的渲染

     django  uwsgi/wsgiref  

    flask    

    tornado  web2.py  

    5 django的安装与使用  

    1 pip3 install django==1.11.9  

    2 django-admin startproject 项目名字  

    3 切到项目里python3 mangage.py startapp app的名字  

    4 pycharm打开项目,启动项目,点绿色三角  

    5 执行项目:python3 manage.py runserver 127.0.0.1:8006       python3 manage.py runserver 8006       python3 manage.py runserver  

    6 目录结构:   

    1 工程名的文件夹:settings:全局配置       

    urls:路由根视图函数映射关系     

    app名字的文件夹:views:视图函数  

    models:orm关系映射    

    今天内容:

    1 django中app的概念:  大学:----------------- 项目   信息学院 ----------app01   物理学院-----------app02  

    ****强调***:创建了app,要在配置文件中注册   ...

    2 模板路径配置:  

    1 templates文件夹

     2 settings里注册一下   

    3 静态文件配置:  

    1 STATIC_URL = '/static/'    一般不要改  

    2 创建一个static文件夹       一般不要改

     3 STATICFILES_DIRS=[   os.path.join(BASE_DIR, 'static'),  创建的文件夹路径(可以写多个)   ]  

    4 完整版登录功能  

    1 login.html    ***重点***

    1 action:提交到后台的地址三种写法:     

    1 http://127.0.0.1:8000/login     

    2 /login/   推荐用    

     3 空     

    2 method  post方式     

    3 <input type="submit" value="提交">或<button></button>     

    type不可以是button     

    <form action="http://127.0.0.1:8000/login" method="post">    

    <p>用户名:<input type="text" name="name" class="form-control"></p>    

    <p >     密码:<input type="password" name="pwd" class="form-control">    

    </p>    <input type="submit" value="提交">   </form>

     2 视图层:   1 request.method  ----前台提交过来请求的方式   

    2 request.POST(相当于字典)----post形式提交过来的数据,(http请求报文的请求体重)   

    3 request.POST.get('name') ----推荐用get取值(取出列表最后一个值)   

    4 request.POST.getlist('name')-----取出列表所有的值_   

    5 前台get方式提交的数据,从request.GET字典里取

     3 链接数据库(防止注入,推荐以下写法)   cur.execute('select * from user where name=%s and password=%s ',[name,pwd])  

    5 get请求和post请求  get:获取数据,页面,携带数据是不重要的数据(数据量有大小限制)  post:往后台提交数据 

    6 新手三件套总结  1 render--返回页面   默认会去templates里找,注意路径  2 redirect--重定向  3 HttpResponse  本质:都是返回HttpResponse的对象

    7 pycharm连接mysql   8 orm介绍  1 ORM即Object Relational Mapping,全称对象关系映射。

     优点:   1 不用写sql,不会sql的人也可以写程序   2 开发效率高  

    2 缺点:   1 可能sql的效率低

     3 如何使用:   如果连接mysql:在setting里配置:       'default': {     'ENGINE': 'django.db.backends.mysql',     'HOST': '127.0.0.1',     'PORT': 3306,     'USER': 'root',     'PASSWORD': 'admin',     'NAME': 'lqz',    }  

     在app下的__init__.py里写:   import pymysql   pymysql.install_as_MySQLdb()    

    4 django-orm:   1 不能创建数据库(需要手动创建数据库)   2 可以创建数据表   3 可以创建字段     5 数据库迁移   1 python3 manage.py makemigrations   ----记录一下数据库的变化   2 python3 manage.py migrate          ----将变化同步到数据库中      9 orm创建表

    创建一个app 

    python3 manage.py startapp app01 

    在settings里面的INSTALLED_APPS中加入 ‘app01.apps.App01Config’  

    在网址后面输入admin会弹出一个登入界面    

  • 相关阅读:
    iOS 整理面试题(上)
    2021年十大白马名单
    RabbitMQ:消息重复消费
    RabbitMQ:保证消息的顺序性
    RabbitMQ:保证消息的可靠性传输
    AWS S3 大文件分片上传
    rebase 用法小结
    Flask at scale
    MySQL分区
    动态规划示例题
  • 原文地址:https://www.cnblogs.com/zhouhao123/p/9910571.html
Copyright © 2011-2022 走看看