Django

1.自己开发web框架

  -socket

  -http协议  请求头与请求体用两个换行分别

  -html知识

  -数据库(pymysql,sqlalchemy)

 

2.Django框架

 

内容回顾:

  mysql是数据源

  操作mysql方法

    终端

    pymysql

    sqlalchemy

  1.安装

  2.创建用户+授权

  3.

    连接

      -数据库

        终端创建数据库(字符编码)

      -数据表

        终端

        ORM(sqlalchemy)

        pymysql 

          engine = innodb

        

      -数据行

        增

        删

        改

        查

          -limit(只是访问索引也慢,就记录标记行)

          -group by

          ....

    关闭

ORM框架原理:

  将类和对象转换为SQL语句,再通过第三方的比如pymysql连接,执行SQL语句。

 

socket 客户端与服务端 持续连接 TCP是连接

浏览器是个socket客户端。

HTTP请求:

  无状态,短连接。连一次,回一次,断开。

  TCP:

    不断开

web应用(网站)

  HTTP协议(数据规则)

    发送

    

    响应

  浏览器(socket客户端)

    2.www.cnblogs.com(42.121.252.58:80)

      sk.socket()

 

 

      sk.connect(42.121.252.58:80)

      sk.send(想要什么)

    5.接受

    6.连接断开

 

  博客园(socket服务端)

    1.监听IP和端口

    while True:

      用户=等待用户连接

      3.收到“我想要什么”

      4.响应“好”

HTTP协议请求,响应

请求

b'GET /index?p=123 HTTP/1.1\r\n
Host: 127.0.0.1:8080\r\n
Connection: keep-alive\r\nCache-Control: max-age=0\r\nUpgrade-Insecure-Requests: 1\r\n
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.90 Safari/537.36 2345Explorer/9.4.0.17462\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\n
Accept-Encoding: gzip, deflate, br\r\n
Accept-Language: zh-CN,zh;q=0.8\r\n\r\n'


请求体
p=123


响应头

响应体
页面右键源代码(这么大一串字符串)

 

1.http,无状态+短连接

2

  浏览器(socket客户端)

  网站(socket服务端)

3.自己写网站

  a.socket服务端

  b.根据URL不同返回不同的内容

    路由系统:

    URL =>函数

  c.字符串返回给客户  

    模板引擎渲染(特殊字符替换):

      HTML充当模板(特殊字符)

    字符串

  

4.Web框架:

  框架种类:

    -包含a,b,c      ------->Tornado

    -[第三方a],b,c  ---->用的pyton的模块wsgiref --->Django

    -[第三方a],b,[第三方c]   jinja2 ---->flask

  分类:

    -Django

    -其他

二:Django框架

  命令:

    pip3 install django

    django-admin startproject mysite  创建项目

    cd mysite

    python manage.py runserver 127.0.0.1:8080  开启服务

  pycharm:

    。。。

  Django程序目录

    newdjango

      newdjango

        -settings.py  Django配置文件

        -url.py  路由系统:url->函数

        -wsgi.py  用于定义Django用socket,默认的是wsgiref,以后生产上用uwsgi

      manage.py  对当前Django程序所有操作可以基于它  python manage.py runserver

使用Django固定步骤

1.创建project

2.配置

  1-模板路径

    -settings .py    'DIRS': [os.path.join(BASE_DIR,"templates")],

    templates目录

  2-静态文件路径,记得加逗号。

    -settings.py  

    static目录  STATICFILES_DIRS = (os.path.join(BASE_DIR,"static"),)

    这上面还有一句STATIC_URL = '/static/'  在前端用的时候,它的前缀是什么,前缀是static,则他就会到os.path.join(BASE_DIR,"static"),目录下去找文件。

    他们两个是配合起来的

    -

  3.middleware 中,注释csrf

 

  4.url对应关系

  /login/  login

在Django中,如果是GET请求,则只有request.GET有数据

如果是POST请求,request.POST, request.GET可能都有数据。 /login/?p=123

  def login(request)

    request.GET  ->请求头中的url  

    request.POST  -》请求体

    request.method

    

    return HttpResponse("dsa")

    return render(request,"login.html",{})

    return redirect("http//www.")要跳转的网址。

  5.模板引擎的特殊标记。

    login.html中

      {{name}}

    

    

posted on 2018-08-23 10:24  castiel_lee  阅读(72)  评论(0)    收藏  举报

导航