Uliweb 0.2.2 發佈,靈活易用的Python Web框架

  • SortedDict 添加 clear() 函數html

  • 向 AddView, EditView 添加提交保護,缺省爲不啓動。它能夠用來防止屢次提交。但對於 前端建議再増加相關的措施,好比在提交時將按鈕禁掉。若是想要其生效,須要傳入 protect=True 參數。前端

  • 向 uliweb find -t 命令添加 --blocks--with-filename 參數,前者用來顯示在 模板中定義的塊信息,後者用來列出定義相應塊所在的模板文件名。同時向settings.ini 中添加 GLOBAL/DEBUG_TEMPLATE 配置項,用來控制模板是否顯示調試用的註釋,用來區分 不一樣的塊的開始和結束。可是這種輸出具備必定的破壞性,好比非HTML的結果等。因此只 能用於調試,正式使用必定要關閉。好比,打開以後,在輸出的模板中可能有:python

    <!-- BLOCK title (apps/theme/templates/theme/skeleton.html) -->
      <!-- END title -->
  • 増加filedown.py在下載時對 content-range 的處理,感謝 zhangchunlin 提供代碼。nginx

  • 改進 import_attr() 的處理,増加對 pkg_resource 入口字符串格式的支持,好比: x.y.z 原來是根據從左向右逐層導入時,動態來判斷後面的是模塊仍是屬性,若是是 模塊,則繼續導入,若是是屬性則使用 getattr() 來處理。如今則能夠定義爲: x.y:z.c, 這樣能夠更清晰表示 : 號前是模塊,後面是屬性。git

  • uliweb.contrib.orm 上添加 requirements.txt,能夠直接用 uliweb install 來安裝: SQLAlchemy, MySQL-python, alembic(這個是我修改的版本)。注意,要在你的應 中用先配置 uliweb.contrib.orm 才能夠。由於這個requirements.txt是在app上定義的。github

  • 添加 LOGO 文件,能夠用這裏面的圖片來展現 uliweb。web

  • 向 runserver 命令増加 --color 參數,能夠輸出彩色日誌。輸省是不輸出。同時,你 能夠根據須要,在settings.ini中對顏色進行配置,如缺省的爲:app

    [LOG.COLORS]
      DEBUG = 'white'
      INFO = 'green'
      WARNING = 'yellow'
      ERROR = 'red'
      CRITICAL = 'red'

    支持的顏色爲: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE.函數

  • 増加 config 命令。它能夠用來向控制檯輸出配置文件的模板。目前能夠生成 nginx, supervisor 相關的配置。你也能夠在自已的app中定義這樣的輸出。只要在app下建立 template_files/config 的目錄結構,而後建立 xxxx.confxxxx.ini 文件。在 xxxx.ini 中用來定義一些 變量,這些變量將用於 xxxx.conf 中。優化

    ini格式定義示例爲:

    [INPUT]
      port = '', 80
      path =

    port爲變量名,值爲一個tuple或者不定義,第一個值爲提示用的文本,若是爲空則表示沒有額外 說明。第二個表示缺省值。

    xxxx.conf 爲uliweb格式的模板,若是存在模板變量,則須要與ini中的一致。同時 有一些預約義的變量,如: project 表示項目目錄名稱,project_dir 表示項目目錄。

    執行時能夠: uliweb config xxxx

  • 優化 support 命令,能夠象config命令同樣,在你的app下建立 template_files/support/xxxx 這樣的目錄結構,下面放執行 uliweb support xxxx 時將要拷貝的文件及目錄便可。

  • 修復 tmplate 中normcase的bug,改成 normpath 。

  • 重構ORM的關係字段的處理,讓關係的處理爲延遲執行(待get_model時才執行)。這樣 是爲了解決存在循環引用的問題,可是帶來可能的不兼容問題,就是反向關係的獲取。 若是A和B都是在一個文件中定義,那麼在導入A時,B天然也被引入,若是B上有對A的關 系定義,則A自動被注入一個反向關係。可是如今則要顯示執行 get_model('B')才能夠 建立反向關係。

  • get_model()set_model() 中的Model名再也不區分大小寫。

  • 修復當重名的URL定義存在時,後定義的沒有替換前面定義的URL的bug。

  • 修復 rbac 中沒有使用 functions.has_role()functions.has_permission() 的bug。

  • 修復rules.py在處理View類繼承時的bug。添加 expose(replace=True) 的支持,用來實 現View類的替換方式,即不會増加新的一套URL,而是爲了修改原來的View方法處理。 若是replace=False,或不寫,則爲普通的派生方式.

  • 向expose()増加template參數,這樣除了能夠在view函數中指定 response.tmplate = 'xxxx.html 外 還能夠直接在expose上指定。執行優先級,以response.template最高。

  • 恢復 ORM 配置中關於 NULLABLE = False 的配置。這樣字段缺省容許爲 null。

連接

相關文章
相關標籤/搜索