我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用Pyramid框架构建Python

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用Pyramid框架构建Python

关于Pyramid框架


在本博另一篇文章“使用Buildout进行开发”中,有讲到使用Buildout来将Pyramid框架集成到Python环境中,并构建一个“helloworld”级别的Python Web应用。

Web框架旨在提供一个快速、简单的方式来跳跃式的开始一个Web应用。几乎每一个框架都遵从MVC软件模式,MVC代表模型(model)、视图(view)和控制器(controller)。这是一种以分辨和分隔应用中的不同功能来简化应用的设计和允许每一个部件的修改完全独立于其他的模式。

Pyramid是一个轻量级的Python应用的web框架,它允许非常快速的拥有你的基本的web应用并运行之。事实上,它能够将所有的框架都放置在单一文件中,只要你喜欢。


使用Pyramid构建web应用


1. 依照本博的另外一篇文章,http://rangochen.blog.51cto.com/2445286/1397434,可以创建一个Python的虚拟环境:

#virtualenv --no-site-packages env

#source env/bin/activate


2. 创建项目主目录,并在虚拟环境中安装Pyramid:

#mkdir pyramid_sites

#cd pyramid_sites

#easy_install pyramid

上述命令会将框架需要的所有文件都安装到虚拟环境中。


3. 创建一个helloworld示例项目:

#mkidr hello_world

#cd hello_world

创建应用脚本文件,并添加以下内容:

#vim application.py

from wsgiref.simple_server import make_server

from pyramid.config import Configurator

from pyramid.response import Response

def hello_world(request):    

   return Response('<h1>Hello world!</h1>')

if __name__ == '__main__':    

   config = Configurator()    

   config.add_view(hello_world)    

   app = config.make_wsgi_app()    

   server = make_server('0.0.0.0', 8080, app)    

   server.serve_forever()

注解:

1. import语句部分:make_server函数能够创建一个web服务器,当它运行了一个应用时;Configurator和Response是Pyramid中的函数,这些函数分别被使用来为应用配置细节和设置参数以及对请求作出反应。

2. hello_world函数部分代表了我们应用的一个视图,通过Response函数将请求反应值传送到客户端。

3. 主函数是程序真正执行的地方,通过运行主函数的实例来配置和构建服务器。


保存上述文件,并执行:

#python application.py

通过Web访问helloworld应用:

http://ip:8080

wKioL1NQ3IagJPY9AAApFLI637Q598.jpg


使用Scaffolding构建一个Pyramid应用


在上述示例中,所有的工作都是在一个文件中(application.py)完成,虽然这是一种非常好的方式来展示如何使用Pyramid来压缩和简化构建MVC应用的过程,但这不总是最简单的方法。

与大多数流行框架类似,Pyramid能够使用scaffolding来快速创建一个复杂的项目目录结构。通过pcreate这个工具来使用scaffolding。Wikipedia上关于scaffolding的介绍为:

Scaffolding is a technique supported by some model-view-controller frameworks, in which the programmer may write a specification that describes how the application database may be used. The compiler uses this specification to generate code that the application can use to create, read, update and delete database entries, effectively treating the template as a "scaffold" on which to build a more powerful application.


进入Pyramid主目录下,查看可用的scaffolding:

#cd pyramid_sites

#pcreate -l

Available scaffolds:
 alchemy:  Pyramid SQLAlchemy project using url dispatch
 starter:  Pyramid starter project
 zodb:     Pyramid ZODB project using traversal

注解:

1. alchemy能够使用SQL融合来创建一个项目

2. starter能够创建一个在应用实体之间非持续性的基本项目

3. zodb能够创建一个依靠ZODB来运行的项目


使用starter模板来创建第一个项目:

#pcreate -s starter first_project

#cd first_project

#ls

CHANGES.txt      first_project           MANIFEST.in     README.txt
development.ini  first_project.egg-info  production.ini  setup.py

在该目录下的文件大多是用于配置的,程序本身主要包含在以项目名字命名的一个子目录中


运行setup脚本来配置应用的开发环境:

#python setup.py develop

running develop
running egg_info
writing requirements to first_project.egg-info/requires.txt
writing first_project.egg-info/PKG-INFO
writing top-level names to first_project.egg-info/top_level.txt
writing dependency_links to first_project.egg-info/dependency_links.txt
writing entry points to first_project.egg-info/entry_points.txt
writing requirements to first_project.egg-info/requires.txt
writing first_project.egg-info/PKG-INFO
writing top-level names to first_project.egg-info/top_level.txt
writing dependency_links to first_project.egg-info/dependency_links.txt
writing entry points to first_project.egg-info/entry_points.txt
reading manifest file 'first_project.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.cfg'

......

该命令将使用定义在development.ini中的可用参数来配置你的应用


最后运行你的项目:

#pserve development.ini

Starting server in PID 21251.
serving on http://0.0.0.0:6543

登录http://ip:6543 ,可查看到默认的应用界面


增加调试面板:Pyramid Debug Toolbar,

#vim development.ini

#在[app:main]选项中增加以下语句来使得所有连接到的主机都能够看到调试面板

debugtoolbar.hosts = 0.0.0.0/0

保存并退出,重启服务器可以看到调试面板在右手边

#pserve development.ini

                                                                                                                             ——游响云停



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用Pyramid框架构建Python

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用Pyramid框架构建Python

关于Pyramid框架在本博另一篇文章“使用Buildout进行开发”中,有讲到使用Buildout来将Pyramid框架集成到Python环境中,并构建一个“helloworld”级别的Python Web应用。Web框架旨在提供一个快速
2023-01-31

Python web开发框架Pyramid怎么用

要使用Python web开发框架Pyramid,你需要按照以下步骤进行操作:安装Pyramid:使用pip命令安装Pyramid框架。在终端中运行以下命令:pip install pyramid创建一个新的Pyramid项目:在命令行中
2023-10-23

Pyramid框架的使用范围是什么?

Pyramid框架是一种基于Python的Web开发框架,它提供了一种简洁、灵活和可扩展的方式来构建高效的Web应用程序。Pyramid框架的设计哲学是“尽量少做决策”,这意味着它尽可能地减少了框架对开发者的限制,以便开发者根据自己的需求和
Pyramid框架的使用范围是什么?
2024-02-25

python中Pyramid框架的作用是什么

这篇文章给大家介绍python中Pyramid框架的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应
2023-06-14

Python怎么构建API流行框架

这篇文章主要介绍了Python怎么构建API流行框架的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么构建API流行框架文章都会有所收获,下面我们一起来看看吧。凭借着平缓的学习曲线和简单直接的语法,
2023-06-27

使用Python的Flask框架构建大型Web应用程序的结构示例

虽然小型web应用程序用单个脚本可以很方便,但这种方法却不能很好地扩展。随着应用变得复杂,在单个大的源文件中处理会变得问题重重。 与大多数其他web框架不同,Flask对大型项目没有特定的组织方式;应用程序的结构完全交给开发人员自己决定。在
2022-06-04

LINQ如何构建框架

小编给大家分享一下LINQ如何构建框架,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如今,LINQ的版本发布已经尘埃落定,是时候思考如何使用它了。Keith Fa
2023-06-17

SpringBoot如何构建ORM框架

本篇内容主要讲解“SpringBoot如何构建ORM框架”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot如何构建ORM框架”吧!目前常用的ORM框架有 Mybatis(bati
2023-06-29

Spring Boot构建框架详解

什么Spring Boot?Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,
2023-05-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录