pyramid开发者文档: https://trypyramid.com/documentation.html

一、pyramid简介

在Python web 开发框架里有多种选择,有Django、Tornado、Flask、web2py、Pylons、Pyramid等等,
Pyramid以其高效率和快节奏的开发能力而出名。官方文档是这样描述的:Pyramid is a small, fast, down-to-earth Python web framework. It is developed as part of the Pylons Project. It is licensed under a BSD-like license. 此开源Web框架有一个独立于平台的MVC结构,提供了开发的最简途径。此外,它还是高效开发重用代码的首选平台之一。

二、pyramid安装

按照官方文档即可。As an example, for Python 3.6+ on Linux:
#set an environment variable to where you want your virtual␣environment
$ export VENV=~/env
#create the virtual environment
$ python3 -m venv $VENV
#install pyramid
$ $VENV/bin/pip install pyramid
#or for a specific released version
$ $VENV/bin/pip install “pyramid==1.9.4”

For Windows:
#set an environment variable to where you want your virtual environment
c:> set VENV=c:\env
#create the virtual environment
c:> python -m venv %VENV%
#install pyramid
c:> %VENV%\Scripts\pip install pyramid
#or for a specific released version
c:> %VENV%\Scripts\pip install “pyramid==1.9.4”

三、pyramid框架下程序解析:

1. ini.py中main()是程序入口
2. main
  def main(global_config, **settings):init_log()# 初始化dbinit_db(settings)# 认证并授权(保证db初始化成功的前提下)...#重点看下面:config = Configurator(settings=settings, root_factory=RootFactory)config.set_authentication_policy(authentication_policy)config.set_authorization_policy(authorization_policy)config.set_session_factory(session_factory)config.add_static_view('static', 'static', cache_max_age=3600)#配置路由:config.add_route('home', '/')config.include(routes_config)config.scan()#Publish a WSGI app using an HTTP serverreturn config.make_wsgi_app()
3. 路由:即根据url,对应所要执行的函数。route文件夹下,admin.py:
 def routes_config(config):#配置路由config.include(admin_route, route_prefix='')def admin_route(config):admin_route_maps = {'admin': '/admin',}for (k, v) in admin_route_maps.items():#添加路由config.add_route(k, v)
4. views:views类主要负责生成客户端即将渲染的界面。home_views.py:
    class HomeViews:def __init__(self, request):self.request = requestself.params = request.paramsself.user_id = self.request.unauthenticated_userid    @view_config(route_name='home',request_method='GET',renderer='emotion:templates/layout.jinja2')def home(self):if not self.user_id:return HTTPFound(location='/admin/login')user_menus = Permission(self.user_id).interceptor_user_menus()return {'menus': user_menus}

对于有路由的函数,用@view_config(route_name=‘route name’,,request_method=’ method’,renderer=‘template’)修饰。

5. model:model类负责对数据库的操作,封装好与数据库交互的接口。

views类的函数中调用model中定义的接口。

6. entity:entity中每个类代表数据库中的一种表格。

我们访问数据库,实际上是访问数据库中存储的表格。所以model类的函数是通过entity类的实例来和数据库交互的。

Python web开发框架—— Pyramid学习(一)相关推荐

  1. python最流行的框架_2020年最流行Python web开发框架(下)

    11种2020年流行的Web开发Python框架,接上文 2020年最流行Python web开发框架(上)介绍的,剩下部分在本文里继续详细介绍.当然,Python框架很多很棒,学好Python是打开 ...

  2. pythonweb开发-5个最好的Python Web开发框架

    原标题:5个最好的Python Web开发框架 Python是最受欢迎的和最有效率的开发语言之一.Python能让你更快完成工作,并且更有效地集成系统.Python是动态的面向对象的语言.即便你刚刚开 ...

  3. 【最全整理】37 个 Python Web 开发框架总结

    用了 2 周的时间整理了 Python 中所有的网站开发库(下文简称:Web 框架),供大家学习参考. Q:Web 框架到底是什么? A:Web 框架主要用于网站开发.开发者在基于 Web 框架实现自 ...

  4. 最全整理!37 个 Python Web 开发框架总结

    用了 2 周的时间整理了 Python 中所有的网站开发库(下文简称:Web 框架),供大家学习参考. Q:Web 框架到底是什么? A:Web 框架主要用于网站开发.开发者在基于 Web 框架实现自 ...

  5. python web开发框架flask_Python Web 开发框架,Flask 与 Django那个更好

    本文把 Flask 和 Django 做一个比对,因为我对这两个 Python Web 框架都有实际的开发经验.希望我可以帮助您选择学习哪个框架,因为学习一个框架可能会非常耗时 -- 当然也很有趣! ...

  6. 程序员新手第一个python web开发框架

    接下来正式进入网站的功能开发.要完成后台管理系统登录功能,通过查看登录页面,我们可以了解到,我们需要编写验证码图片获取接口和登录处理接口,然后在登录页面的HTML上编写AJAX. 在进行接口开发之前, ...

  7. Python Web开发框架Django

    花了两周时间,利用工作间隙时间,开发了一个基于Django的项目任务管理Web应用.项目计划的实时动态,可以方便地被项目成员查看(^_^又重复发明轮子了).从前台到后台,好好折腾了一把,用到:HTML ...

  8. 2022 年十大 Python Web 开发框架

    1.Django Django 框架是任何 Web 开发公司的首选.开发人员使用此框架来开发高质量标准的复杂 Web 和移动应用程序.由于其开源特性,Django 具有成本效益,但在其他有助于开发人员 ...

  9. 【Python Web】30个Python Web开发框架介绍

    收藏:30个Python Web开发框架介绍 1. Bobo 2. Bottle 3. CherryPy 4. Cyclone 5. Flask 6. Itty-Bitty 7. Klein 8. M ...

最新文章

  1. Picasso:开启大前端的未来
  2. debian 9 安装后的配置,debian 9 开发环境。
  3. 无忧无盘服务器,无忧网维无盘系统新手快速部署.doc
  4. php怎么修改div自带属性吗,修改html 属性,css样式。
  5. hibernate oracle 插入 clob,Oracle CLOB在Hibernate框架下的一次应用
  6. 【转】Qt VS MFC
  7. 【Hoxton.SR1版本】Spring Cloud Sleuth分布式请求链路跟踪
  8. 云计算的工作原理是什么?
  9. 狂神学习系列18:Redis
  10. Python excel数据处理之公式---openpyxl
  11. 计算机视觉实验四-相机标定
  12. Word怎么填服务器草稿位置,Word步骤制作目录的索引符号的操作
  13. 大规模病毒入侵,全靠分布式
  14. javafx 教程_JavaFX,Jigsaw项目和JEP 253
  15. SpringCloud Config连接私有仓库时的配置(记录一下)
  16. 让GIS三维可视化变得简单-初识Cesium
  17. 既生 var 何生 let
  18. chatgpt API key 获取及延续
  19. python实现RSS解析
  20. 大数据实战项目之电商数仓(一)

热门文章

  1. 计算机科学与导论论文样例,计算机科学导论论文684413422
  2. 逐鹿强网,金陵折桂,四届老将0ops战队如何称雄
  3. php 命格算法,命格是怎么个算法???
  4. Unity 2D游戏制作
  5. 数字电子钟的设计与制作
  6. 对冲基金到底是什么:细数对冲基金的七种武器
  7. C中输入半径计算球体的体积
  8. 解决:npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
  9. 王半仙儿的日记-0003
  10. 分析器错误 在分析向此请求提供服务所需资源时出错 请检查下列特定分析错误详细信息并适当地修改源文件未能加载类型XXXX