Django基础教程总结

对于所有的web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。

一个简单的web程序:

#!/usr/bin/env python#coding:utf-8 import socket def handle_request(client):    buf = client.recv(1024)    client.send("HTTP/1.1 200 OK")    client.send("Hello, Seven") def main():    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    sock.bind(('localhost',8000))    sock.listen(5)     while True:        connection, address = sock.accept()        handle_request(connection)        connection.close() if __name__ == '__main__':    main()

登录后复制

python web程序一般会分为服务器程序和应用程序。服务器程序负责对socket服务器进行封装,并在请求到来时对请求的各种数据进行整理。应用程序则负责具体的逻辑处理。为了方便应用程序的开发,就出现了众多的web框架。例如Django,Flask,web.py等。

不同的框架有不同的开发方式,但是无论如何,开发出的应用程序都要和服务器程序配合,再能为用户提供服务。这样,服务器程序就需要为不同的框架提供不同的支持。这样混乱的局面无论对服务器还是框架,都是不好的。对服务器来说,需要支持各种不同框架,对框架来说只有支持它的服务器才能被开发出的应用使用。这个时候,标准化就变的尤为重要。我们可以设立一个标准,只要服务器程序支持这个标准,框架也支持这个标准,那么他们就可以配合使用。一旦标准确定,双方各自实现。这样,服务器可以支持更多支持标准的框架,框架也可以使用更多支持标准的服务器。

 

WSGI

web server gateway interface 是一种规范,它定义了使用python编写的web app与web server 之间的接口格式,实现   web app与 web server间的解耦。

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

#!/usr/bin/env python#coding:utf-8from wsgiref.simple_server import make_serverdef RunServer(environ, start_response):    start_response('200 OK', [('Content-Type', 'text/html')])    return '

Hello, web!

'if __name__ == '__main__':    httpd = make_server('', 8000, RunServer)    print "Serving HTTP on port 8000..."    httpd.serve_forever()

登录后复制

自定义web框架

通过python标准库提供的wsgiref模块开发一个自己的web框架

#!/usr/bin/env python#coding:utf-8from wsgiref.simple_server import make_serverdef index():    return 'index'def login():    return 'login'def routers():        urlpatterns = (        ('/index/',index),        ('/login/',login),    )        return urlpatternsdef RunServer(environ, start_response):    start_response('200 OK', [('Content-Type', 'text/html')])    url = environ['PATH_INFO']    urlpatterns = routers()    func = None    for item in urlpatterns:        if item[0] == url:            func = item[1]            break     if func:        return func()    else:        return '404 not found'    if __name__ == '__main__':    httpd = make_server('', 8000, RunServer)    print "Serving HTTP on port 8000..."    httpd.serve_forever()

登录后复制

以上就是Django基础教程总结的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2269208.html

(0)
上一篇 2025年2月27日 11:06:49
下一篇 2025年2月19日 00:01:34

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Django介绍之分页实例

      分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该显示在页面上的数据在数据库表中的起始位置。 确定分页需求: 1. 每页显示的数据条数2. 每页显示页号链接数3. 上一页和下一页4. 首页和末页 登录后复制 效…

    2025年2月27日
    200
  • 如何创建Django程序

    创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 上述的sitename是自己定义的项目名称! 其他常用命令: python ma…

    编程技术 2025年2月27日
    200
  • XSS及CSRF的详细介绍

    一、XSS 跨站脚本攻击(cross site scripting),为不和层叠样式表(cascading style sheets, css)的缩写混淆,故将跨站脚本攻击缩写为xss。恶意攻击者往web页面里插入恶意script代码,当用…

    2025年2月27日 编程技术
    200
  • Django自定义分页如何实现?

    这篇文章主要为大家详细介绍了django自定义分页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该显示在页面上的数据在数据库表中的起始位置。 确定分页需求:…

    2025年2月27日
    200
  • Cookie和Session的实例介绍

    一、Cookie cookie,有时也用其复数形式 cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。 1. 应用 服务器可以利用Cookies包含信息的任意性来筛选并经常性…

    2025年2月27日 编程技术
    200
  • Python中变量和数据类型介绍

    1、变量和数据类型 1.1变量 1.每个变量都存储了一个值——与变量相关联的信息。 2.变量不仅可以为整数或浮点数,还可以是字符串,可以是任意数据类型。 1.1.1变量的命名和使用 变量名只能包含字母、数字和下划线,且数字不能打头。变量名不…

    编程技术 2025年2月27日
    200
  • Python基础学习之列表的介绍

    2、列表简介 python内置的一种数据类型是列表:list。 list是一种有序的集合。 列表由一系列按特定顺序排列的元素组合。用 [ ] 来表示。 list里面的元素的数据类型也可以不同,比如: >>> L = [&#…

    编程技术 2025年2月27日
    200
  • Python基础学习需要掌握哪些知识

    1.1python的对象 python的内置对象类型有很多,包括数字,字符串,列表,集合,元组,字典等等,在Python中,一切皆对象 pickle腌制–在Python中,如果有一些对象需要持久性存储,并且不丢失这个对象的类型和…

    编程技术 2025年2月27日
    200
  • Python爬取qq音乐的过程实例

    一、前言   qq music上的音乐还是不少的,有些时候想要下载好听的音乐,但有每次在网页下载都是烦人的登录什么的。于是,来了个qqmusic的爬虫。至少我觉得for循环爬虫,最核心的应该就是找到待爬元素所在url吧。下面开始找吧(讲的不…

    2025年2月27日 编程技术
    200
  • Python的由来与使用介绍

        Python语言因为简洁而清晰的风格,有大量适用性甚广的类库和python开源框架可以使用,而受到许多IT界人士的喜爱。Python的由来及发展历程又是怎样的呢,下面我们来简单的了解下。     追溯Python语言的起源,是从20…

    2025年2月27日 编程技术
    200

发表回复

登录后才能评论