zoukankan      html  css  js  c++  java
  • uwsgi和wsgi

    一个Web应用的本质就是:

    浏览器发送一个HTTP请求;

    服务器收到请求,生成一个HTML文档;

    服务器把HTML文档作为HTTP响应的Body发送给浏览器;

    浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。


    接口,让我们专心用Python编写Web业务。
    这个接口就是WSGI:Web Server Gateway Interface。
    WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。我们来看一个最简单的Web版本的“Hello, web!”:
    def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return [b'<h1>Hello, web!</h1>']


    Python处理URL的函数就是C:Controller,Controller负责业务逻辑,比如检查用户名是否存在,取出用户信息等等;

    包含变量{{ name }}的模板就是V:View,View负责显示逻辑,通过简单地替换一些变量,View最终输出的就是用户看到的HTML。

    MVC中的Model在哪?Model是用来传给View的,这样View在替换变量的时候,就可以从Model中取出相应的数据。

    通过MVC,我们在Python代码中处理M:Model和C:Controller,而V:View是通过模板处理的,这样,我们就成功地把Python代码和HTML代码最大限度地分离了。

    使用模板的另一大好处是,模板改起来很方便,而且,改完保存后,刷新浏览器就能看到最新的效果,这对于调试HTML、CSS和JavaScript的前端工程师来说实在是太重要了。

    在Jinja2模板中,我们用{{ name }}表示一个需要替换的变量。很多时候,还需要循环、条件判断等指令语句,在Jinja2中,用{% ... %}表示指令。

    除了Jinja2,常见的模板还有:

    Mako:用<% ... %>和${xxx}的一个模板;

    Cheetah:也是用<% ... %>和${xxx}的一个模板;

    Django:Django是一站式框架,内置一个用{% ... %}和{{ xxx }}的模板。

    参考文档

    https://www.liaoxuefeng.com/

  • 相关阅读:
    深入理解is_callable和method_exists
    php数据加密及数据存储和传输
    yii2深入理解之内核解析
    细说 unicode 、utf-8 、utf-16、ascii 、gbk 、gb2312
    RESTful API架构和oauth2.0认证机制(概念版)
    深入理解yii2之RBAC(模块化系统)
    yii rbac
    Yii2 设计模式
    深入理解PHP数组函数和预定义接口
    PHP 代码规范、流程规范、git规范
  • 原文地址:https://www.cnblogs.com/Liang-jc/p/9264372.html
Copyright © 2011-2022 走看看