zoukankan      html  css  js  c++  java
  • 第一章 介绍django

    1. web开发原理  

      python web一般分为两部分:服务器程序和应用程序。服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理。应用程序则负责具体的逻辑处理。为了方便应用程序的开发,就出现了许多的web框架,例如Django,Flask,web.py等。开发的应用程序要和服务器程序配合,才能为用户提供服务。web应用的本质是:1.浏览器发送一个HTTP请求;2.服务器收到请求,生成一个HTML文档;3.服务器把HTML文档作为HTTP响应的body发送给浏览器;4.浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。

      WSGI(Web Server Gateway Interface)是一种规范,它定义了使用python编写的web app和web server之间接口格式,实现web app和web server之间的解耦,使我们不需要接触到底层代码,不用接触到TCP连接,HTTP原始请求和响应格式。要求开发者实现一个函数,就可以响应HTTP请求。

      python标准库提供的独立WSGI服务器称为wsgiref

    from wsgiref.simple_server import make_server
    
    def application(environ, start_response):
            start_response('200 ok',[('Content-Type','text/html')])
            return [b'<h1>hello world</h1>']
    
    if __name__ == '__main__':
            httpd = make_server('',8000,application)       #创建一个服务器,IP地址为空,端口是8000,处理函数是application
            print('serving http on port 8000...')
            httpd.serve_forever()                          #开始监听HTTP请求

         application函数就是WSGI标准的一个HTTP处理函数,它接收两个参数:

      environ:一个包含所有HTTP请求信息的dict对象;

      start_response:一个发送HTTP响应的函数

      在application函数中,调用:

      start_response('200 ok',[('Content-Type','text/html')])

      就发送了HTTP响应的Header。start_response()函数接收两个参数,一个是HTTP响应码,一个是一组list表示的HTTP Header,Header用一个包含两个str的tuple表示。把Content-Type头发送给浏览器,其他很多常用的HTTP Header也应该发送,然后,函数的返回值将作为HTTP响应的Body发送给浏览器。

      无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。HTTP请求的所有输入信息都可以通过environ获得,HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。

    2.MVC设计模式

      models.py文件主要用一个python类来描述数据表,称为模型。

      views.py文件包含了页面的业务逻辑。

      urls.py指出什么样的URL调用什么的视图

      本人新手主要是记录the django book中的阅读,如有错误和侵权请留言。

      参考资料:http://www.cnblogs.com/wupeiqi/articles/4491246.html

              https://www.liaoxuefeng.com/

           

  • 相关阅读:
    git
    uniapp
    laravel
    laravel
    js
    js -上传文件获取名字赋值
    laravel
    持续集成
    持续集成
    持续集成
  • 原文地址:https://www.cnblogs.com/homle/p/8021884.html
Copyright © 2011-2022 走看看