閱讀383 返回首頁    go 技術社區[雲棲]


pyramid學習筆記1-創建pyramid web項目

1.創建一個 pyramid project

我們可以通過scaffolds(支架)來很方便的創建項目,pyramid有很多不同的scaffolds,不同的scaffold可以創建不同配置的項目。如果說項目的配置是整個項目的支架的話,那scaffold的作用就很容易理解了。pyramid自帶的有starter、zodb、alchemy,我們使用starter scaffold。

創建一個python項目文件夾,我的在D:/python/PythonWorks/下麵。創建之前您必須要安裝pyramid,我的安裝在D:/python/env/下。cmd進入D:/python/PythonWorks/,鍵入如下命令:

pcreate是裝了pyramid之後在python/Scripts/目錄生成的一個可執行文件,通常把python/Scripts/加入到係統環境變量以方便使用,我的沒有加,所以要輸入pcreate的路徑。

然後,以develop的方式來run我們的項目:

用pserve來運行項目:

成功後打開瀏覽器輸入localhost:6543即可查看我們創建的網站,如下圖所示:

這樣,你的第一個pyramid項目的建好了!接下來,讓我們把它集成到eclipse裏麵吧。

2.將pyramid項目集成到eclipse

首先要在eclipse裏麵安裝python開發環境,我們采用PyDev。在eclipse Marketplace中搜索PyDev。選擇第一個PyDev-Python IDE for Eclipse安裝,裝完重啟。在window->preference->PyDev->Interpreter-Python添加一個new Interpreter:D:\python\env\Scripts\python.exe。點擊apply完成。
創建一個新的project->PyDev->PyDev Project,Interpreter選擇我們剛才添加的D:\python\env\Scripts\python.exe:


點擊Finish,將剛才用pyramid創建的myproject文件夾拷貝到eclipse的工作目錄下麵的myproject並覆蓋,刷新myproject。
右鍵myproject->Properties.Text file encoding選擇UTF-8,因為我們要用的UTF-8編碼格式。
完成後再右鍵myproject->Run as->Run Configurations。在左邊樹形欄的Python Run上右鍵new新建一個Run配置,參數如下:





至此配置完畢,最後點擊Run按鈕。會在Console窗口顯示:
Starting subprocess with file monitor

打開瀏覽器,輸入localhost:6543,將會出現pyramid歡迎頁。eclipse集成pyramid完成!

3.項目配置

我們的整個項目文件目錄應該像下麵這樣:

我們的代碼主要寫在myproject包下麵。static是靜態文件,一般放網頁需要的js,css,和images。template主要存放網頁模板。
有關配置文件:

development.ini

你可以在這裏設置一些配置,比如mysql的主機、用戶名、密碼,debug是否開啟,以及cache等。development.ini 文件默認內容如下:

[app:main]
use = egg:MyProject

pyramid.reload_templates = true
pyramid.debug_authorization = false
pyramid.debug_notfound = false
pyramid.debug_routematch = false
pyramid.default_locale_name = en
pyramid.includes =
    pyramid_debugtoolbar

[server:main]
use = egg:waitress#main
host = 0.0.0.0
port = 6543

# Begin logging configuration

[loggers]
keys = root, myproject

[handlers]
keys = console

[formatters]
keys = generic

[logger_root]
level = INFO
handlers = console

[logger_myproject]
level = DEBUG
handlers =
qualname = myproject

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s

[app:main]下麵配置信息代表了整個項目,[server:main]下麵配置服務器信息,後麵的配置了日誌記錄設置。我們隻需要修改[app:main]部分:

[app:main]
use = egg:myproject

pyramid.reload_templates = true
pyramid.debug_authorization = false
pyramid.debug_notfound = false
pyramid.debug_routematch = false
pyramid.default_locale_name = zh_CN #use Chinese
pyramid.includes = 
	pyramid_beaker
    pyramid_debugtoolbar
#for Mako Tempate
mako.directories=myproject:templates
#for MongoDB
mongo_uri = mongodb://127.0.0.1/myproject
# Beaker cache
cache.regions = default_term, second, short_term, long_term
cache.type = memory
cache.second.expire = 1
cache.short_term.expire = 60
cache.default_term.expire = 300
cache.long_term.expire = 3600

# Beaker sessions
session.type = file
session.data_dir = %(here)s/data/sessions/data
session.lock_dir = %(here)s/data/sessions/lock
#session.type = memory
session.key = myproject_session
session.cookie_on_exception = true
注意MongoDB這一欄:
mongo_uri = mongodb://127.0.0.1/myproject
127.0.0.1代表本機。myproject是MongoDB下的數據庫名。所以你需要用rockmongo新建一個名為myproject的數據庫。

production.ini

隻有當您的項目投入實際生產中時才會用它來代替development.ini。開發的時候不用管它。

setup.py

該文件調用setuptool的許多功能。在命令行下使用不同的參數來實現。項目根目錄下還有setup.cfg文件,該文件為setuptool配置文件,包含大量測試和初始化設置。



最後更新:2017-04-03 16:49:04

  上一篇:go ubuntu 如何更換軟件源
  下一篇:go pyramid學習筆記0-準備工作