日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

pyramid新建项目

發(fā)布時間:2023/11/29 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pyramid新建项目 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

例子:本項目在D盤

(1) C:\Users\Adminstrator>D: #進入到D盤

(2) D:>mkdir test #新建目錄test

(3) D:\cd test #進入test目錄

(4) D:\test>pcreate -s starter myproject #新建項目名為myproject

(5) D:\test>cd myproject #進入項目

(6) D:\test\myproject>python setup.py develop 添加項目所需要的配置文件

(7) D:\test\myproject>pserve development.ini運行項目

一個簡單的pyramid項目創(chuàng)建成功!!!

cmd中 刪除非空目錄:>rmdir /s \q

清屏:>cls

  • 新建的pyramid項目只能識別“.py”的靜態(tài)頁面文件,識別“html”靜態(tài)文件解決方案如下:
  • (1) 項目根目錄下:product.ini 和 development.ini中加入“html”模塊支持

    如: ; For Mako Templatemako.directories = adview:templatesmako.strict_undefined = true (2)項目的 __init__.py文件的如下位置加入: config = Configurator(settings=settings)config.add_renderer(".html", "pyramid.mako_templating.renderer_factory")config.add_static_view('static', 'static', cache_max_age=3600)
  • 在view視圖
  • @view_config(route_name='home', reauest_methos="POST",accept='text/HTML') def myview(request): return Response("<h1>hello world</h1>")

    Pyramid提供了一種聲明式的權(quán)限管理,可以按照一定的授權(quán)策略保護view,以保證只有經(jīng)過認 證的用戶才能訪問應用。在Pyramid中,權(quán)限管理體系被明確的分成了認證和授權(quán)兩個部分。 認證系統(tǒng)將request中的身份證明轉(zhuǎn)化成一個或多個系統(tǒng)能識別的主體標識。這些表示代表了request中當前生效的用戶、組信息。 授權(quán)系統(tǒng)則根據(jù)得到的主體標識、視圖配置、上下文決定是否有訪問權(quán)限。

    3、將url路徑從__init__文件中分離出來,新建一個url文件并把路徑寫在url文件中

    (1)__init__文件 from pyramid.config import Configurator
    from project.url import add_adview

    def main(global_config, **settings):config = Configurator(settings=settings)config.add_static_view('static', 'static', cache_max_age=3600)config.add_renderer(".html", "pyramid.mako_templating.renderer_factory")add_adview(config) #路徑config.scan("project") #project為項目名return config.make_wsgi_app()(2)新建url.py文件def add_adview (config):config.add_route (name = 'home', pattern = '/')先看一下MyProject/目錄,這是一個典型的python工程發(fā)布結(jié)構(gòu),其中的一些文件如下:
  • CHANGES.txt 變更說明,可以使用ReStructuredText格式

    MANIFEST.in 裝箱文件,決定哪些代碼會部署README.txt 項目簡介,使用ReStructuredText 格式編寫。development.ini PasteDeploy配置文件,用與開發(fā)階段production.ini PasteDeploy配置文件,用發(fā)布階段setup.cfg和setup.py setuptools的配置文件和執(zhí)行文件如果需要對這個結(jié)構(gòu)驚喜擴張,可以參考python開源項目目錄結(jié)構(gòu)。

    在MyProject目錄下還會創(chuàng)建一個python package:myproject,這是放置Pyramid應用。如果用過Django,會發(fā)現(xiàn)這個目錄結(jié)構(gòu)與Django的很像。簡單說明一下:

  • init_.py Python package初始化腳本。Pyramid框架在其中放置了一個main函數(shù)00,作為一些命令(如pserve,pshell,pviews等)的入口。

    models.py 模型代碼。在使用alchemy工程模板時刻文件包含了SQLAlchemy的基本代碼和一 個model類的例子scripts 開發(fā)用的一些腳本工具static web靜態(tài)文件templates 模板目錄tests.py 單元測試代碼views.py 視圖代碼
  • 一、Pyramid權(quán)限處理流程

    1. 用戶用過一個特定的URL訪問應用,因此在應用中生成一個request。2. 基于這個request的信息,通過resource定位找到一個上下文(context)(不論是漫游還是URL分發(fā))。3. 通過視圖定位找到一個合適的視圖,4. 如果認證策略生效,將由此與request生成幾個主體(principal)的標識。5. 如果授權(quán)策略生效,并且視圖配置中定義定義了permission參數(shù),將由這它們以及上下文、主體標識來共同決定是否有權(quán)訪問這個視圖。6. 如果授權(quán)成功,則調(diào)用視圖。7. 如果授權(quán)失敗,則調(diào)用forbidden視圖。

    轉(zhuǎn)載于:https://my.oschina.net/u/1013711/blog/151538

    總結(jié)

    以上是生活随笔為你收集整理的pyramid新建项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。