python web框架分析和学习篇_彭友

分析篇:

刚好到网上搜到了一篇《浅谈Python web框架》,里面系统的分析了五种主流的Python框架,现在python的主流框架有Django、Pylons&TurboGears&repose.bfg、Tornado&web.py&Bottle&Flask和Quixote。它从宏观角度分析了这五种框架的优劣,看完之后我们决定选择Django,因为:

Django:

概述:可谓是python框架里面最大的一家,它是里面文档最完善、市场占有率最高、招聘职位最多的一家。

优点:

l  完备的文档,官方的文档十分的完备

l  全套的解决方案

l  强大的URL路由配置

l  自助的管理后台

缺点:

l  系统耦合度十分高,不便于引入外部的一些工具

l  系统自带的ORM不如SQLAlchemy强大

l  Template功能比较弱

l  URL需要手动配置

l  Auth模块与其它模块的耦合度太高

总之,Django适合快速开发一些web应用,而我们这个项目本身不是很复杂,需要引用外部的库估计也不会有多少,其实还有一个重要原因就是Django普及率最高、文档最完备,学习起来不用担心找不到学习资源或者出了问题找不到解决方案了,所以我们选择了它。

配置篇:

确定使用Django作为我们这次项目的开发框架之后,我又开始学习Django的配置,然后还参照网上的教程写了一个简单的hello world程序,以便对Django有个感性的了解。

安装:

我安装的是python-3.3.5:http://rj.baidu.com/soft/detail/17016.html?ald+Django1.6.5 http://download.csdn.net/download/henrygas2014/7720223

装python:先运行python-3.3.5.msi,然后安装提示装好python,记住你的安装目录,比如是D:\python。然后在计算机->属性->高级系统设置->高级->环境变量,找到Path变量,双击它,在末尾添加D:\python。

装Django:解压下载的压缩包,然后进入Django目录(就是里面有setup.py的那个目录,我以D:\Django-1.6.5\Django-1.6.5\为例),然后Shift+右键选择“在此处打开命令窗口”,然后输入

python setup.py install

之后就会安装,这个时候有可能出现的错误就是python和Django之间的版本相互不支持,遇到这种情况换种版本就行了。安装成功之后,输入python打开python解释器

>>> import django

>>> django .VERSION

如果显示(1,6,5,’final’,0)说明安装成功。

然后按照之前python类似的方法把D:\Django-1.6.5\Django-1.6.5\django\bin(就是对应的Django的目录下的\django\bin\);添加到环境变量。

Hello world篇:

注:本教程适合于Django 1.4之后的版本,老版本参见:http://www.nowamagic.net/academy/detail/1318235

1、新建一个Django项目:在你想新建项目的目录下打开命令行,然后输入

django-admin.py startproject mysite1

其中mysite1是项目名

2、然后可以进入mysite1文件夹,在Shift+右键在当前目录打开命令行,然后输入

python manage.py runserver 0.0.0.0:80

看到如下提示之后

就代表Django已经启动了,然后在浏览器里输入127.0.0.1就可以看到这样的画面

然后在当前目录新建一个views文件夹,然后在这个views文件夹下新建两个空文件__init__.py和first_fun.py。然后编写first_fun.py

#! /usr/bin/env python
#coding=utf-8
 
from django.http import HttpResponse
 
def hello(request):
    return HttpResponse("Hello world !")

之后更改urls.py

#! /usr/bin/env python
#coding=utf-8
 
from django.conf.urls import patterns, include, url
 
#导入views
from www.views.first_fun import hello
 
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
 
urlpatterns = patterns(‘‘,
    url(r‘^hello/$‘, hello),
    # Examples:
    # url(r‘^$‘, ‘www.views.home‘, name=‘home‘),
    # url(r‘^www/‘, include(‘www.foo.urls‘)),
 
    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r‘^admin/doc/‘, include(‘django.contrib.admindocs.urls‘)),
 
    # Uncomment the next line to enable the admin:
    # url(r‘^admin/‘, include(admin.site.urls)),
)

之后直接在浏览器里面输入:

http://127.0.0.1/hello/

就可以看到如下的界面了

时间: 2024-10-03 21:57:03

python web框架分析和学习篇_彭友的相关文章

浅谈五大Python Web框架

http://www.csdn.net/article/2011-02-17/292058 导读:作者飞龙写了一篇<浅谈Python Web框架>,文中他介绍了几个Python Web框架和自己对选择框架的分析.在他看来,用Django来快速开发一些Web运用是很不错的选择.以下是文章内容: 说到Web Framework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework.framework不可胜数,不完全列表见: http://wik

Python web 框架 Sanci如何使用?

本文和大家分享的主要是python web 框架 Sanci 相关内容,一起来看看吧,希望对大家学习python有所帮助. Sanic 是一个和类Flask 的基于Python3.5+的web框架,它编写的代码速度特别快. 除了像Flask 以外,Sanic 还支持以异步请求的方式处理请求.这意味着你可以使用新的 async/await 语法,编写非阻塞的快速的代码. 既然它说速度特别快,我们先看下官方提供的 基准测试结果. Sanic基准测试 这个测试的程序运行在 AWS 实例上,系统是Ubu

浅谈Python web框架

一.Python web框架 Web Framework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework.framework不可胜数,不完全列表见: 官网相关的链接:http://wiki.python.org/moin/WebFrameworks 虽然另一大脚本语言PHP也有不少框架,但远没有Python这么夸张,也正是因为Python Web Framework(Python Web开发框架,以下简称Python框架)太多,所以在P

异步非阻塞IO的Python Web框架--Tornado

Tornado的全称是Torado Web Server,从名字上就可知它可用作Web服务器,但同时它也是一个Python Web的开发框架.最初是在FriendFeed公司的网站上使用,FaceBook收购之后便进行了开源. 作为Web框架,是一个轻量级的Web框架,类似于另一个Python web 框架Web.py,其拥有异步非阻塞IO的处理方式. 作为Web服务器,Tornado有较为出色的抗负载能力,官方用nginx反向代理的方式部署Tornado和其它Python web应用框架进行对

Python Web框架Tornado的异步处理代码示例

1. What is Tornado Tornado是一个轻量级但高性能的Python web框架,与另一个流行的Python web框架Django相比,tornado不提供操作数据库的ORM接口及严格的MVC开发模式,但可以提供基本的web server功能,故它是轻量级的:它借助non-blocking and event-driven的I/O模型(epoll或kqueue)实现了一套异步网络库,故它是高性能的. Tornado的轻量级+高性能特性使得它特别适用于提供web api的场合,

Python Web框架Tornado的异步处理代码演示样例

1. What is Tornado Tornado是一个轻量级但高性能的Python web框架,与还有一个流行的Python web框架Django相比.tornado不提供操作数据库的ORM接口及严格的MVC开发模式,但能够提供主要的web server功能.故它是轻量级的:它借助non-blocking and event-driven的I/O模型(epoll或kqueue)实现了一套异步网络库,故它是高性能的. Tornado的轻量级+高性能特性使得它特别适用于提供web api的场合

python web框架之Tornado的简单使用

python web框架有很多,比如常用的有django,flask等.今天主要介绍Tornado ,Tornado是一个用Python写的相对简单的.不设障碍的Web服务器架构,用以处理上万的同时的连接口,让实时的Web服务通畅起来.虽然跟现在的一些用Python写的Web架构相似,比如Django,但Tornado更注重速度,能够处理海量的同时发生的流量.接下来,就开始撸起来吧. 1.首先需要安装Tornado库: pip install tornado 2.新建一个python文件(dem

关于Python Web框架——Tornado

关于Tornado的入门看这篇文章,写的非常好: https://zhuanlan.zhihu.com/p/37382503 Tornado 是一个Python web框架和异步网络库,使用非阻塞网络I/O. Tornado可以被分为4个主要的部分: web框架 HTTP的客户端和服务端实现 异步网络库 协程库 WSGI是Web Server Gateway Interface的缩写. 实时web功能需要为每个用户提供一个多数时间被闲置的长连接, 在传统的同步web服务器中,这意味着要为每个用户

Python Web框架之Django初探(一)

Python Web框架之Django初探 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的框架模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件.并于2005年7月在BSD许可证下发布.这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的. Django可以运行在Apache,Nginx上,也可以运行在支持WSGI,FastCGI的服务器上.支持多种数据