首页 后端开发 Python教程 Django基础教程总结

Django基础教程总结

Jun 28, 2017 pm 12:00 PM
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\r\n\r\n")
    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-8
from wsgiref.simple_server import make_server
def RunServer(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return &#39;<h1>Hello, web!</h1>&#39;
if __name__ == &#39;__main__&#39;:
    httpd = make_server(&#39;&#39;, 8000, RunServer)
    print "Serving HTTP on port 8000..."
    httpd.serve_forever()
登录后复制

自定义web框架

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

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


以上是Django基础教程总结的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

怎么看django版本 怎么看django版本 Dec 01, 2023 pm 02:25 PM

查看django版本步骤:1、打开终端或命令提示符窗口;2、确保已经安装了Django,如果没有安装Django,可以使用包管理工具来进行安装,输入pip install django命令即可;3、安装完成后,可以使用python -m django --version来查看Django的版本。

Django vs. Flask:Python Web框架的对比分析 Django vs. Flask:Python Web框架的对比分析 Jan 19, 2024 am 08:36 AM

Django和Flask都是PythonWeb框架中的佼佼者,它们都有着自己的优点和适用场景。本文将对这两个框架进行对比分析,并提供具体的代码示例。开发简介Django是一个全功能的Web框架,它的主要目的是为了快速开发复杂的Web应用。Django提供了许多内置的功能,比如ORM(对象关系映射)、表单、认证、管理后台等。这些功能使得Django在处理大型

Django框架的优点和缺点:您需要知道的一切 Django框架的优点和缺点:您需要知道的一切 Jan 19, 2024 am 09:09 AM

Django是一个完整的开发框架,该框架涵盖了Web开发生命周期的各个方面。目前,这个框架是全球范围内最流行的Web框架之一。如果你打算使用Django来构建自己的Web应用程序,那么你需要了解Django框架的优点和缺点。以下是您需要知道的一切,包括具体代码示例。Django优点:1.快速开发-Djang可以快速开发Web应用程序。它提供了丰富的库和内

怎么查看django版本 怎么查看django版本 Nov 30, 2023 pm 03:08 PM

查看django版本的方法:1、通过命令行查看,在终端或命令行窗口中输入“python -m django --version”命令;2、在Python交互式环境中查看,输入“import django print(django.get_version())”代码;3、检查Django项目的设置文件,找到名为INSTALLED_APPS的列表,其中包含已安装的应用程序信息。

django版本区别是什么 django版本区别是什么 Nov 20, 2023 pm 04:33 PM

区别是:1、Django 1.x系列:这是Django的早期版本,包括1.0、1.1、1.2、1.3、1.4、1.5、1.6、1.7、1.8和1.9等版本。这些版本主要提供基本的Web开发功能;2、Django 2.x系列:这是Django的中期版本,包括2.0、2.1、2.2等版本;3、Django 3.x系列:这是Django的最新版本系列,包括3.0、3等版本。

如何升级Django版本:步骤和注意事项 如何升级Django版本:步骤和注意事项 Jan 19, 2024 am 10:16 AM

如何升级Django版本:步骤和注意事项,需要具体代码示例引言:Django是一个功能强大的PythonWeb框架,它持续地进行更新和升级,以提供更好的性能和更多的功能。然而,对于使用较旧版本Django的开发者来说,升级Django可能会面临一些挑战。本文将介绍如何升级Django版本的步骤和注意事项,并提供具体的代码示例。一、备份项目文件在升级Djan

django是前端还是后端 django是前端还是后端 Nov 21, 2023 pm 02:36 PM

django是后端。详细介绍:尽管Django主要是一个后端框架,但它与前端开发密切相关。通过Django的模板引擎、静态文件管理和RESTful API等功能,前端开发人员可以与后端开发人员协作,共同构建功能强大、可扩展的Web应用程序。

Django是前端还是后端?一探究竟! Django是前端还是后端?一探究竟! Jan 19, 2024 am 08:37 AM

Django是一个Python编写的web应用框架,它强调快速开发和干净方法。尽管Django是一个web框架,但是要回答Django是前端还是后端这个问题,需要深入理解前后端的概念。前端是指用户直接和交互的界面,后端是指服务器端的程序,他们通过HTTP协议进行数据的交互。在前端和后端分离的情况下,前后端程序可以独立开发,分别实现业务逻辑和交互效果,数据的交

See all articles