pyramid学习笔记1-创建pyramid web项目

来源:互联网 发布:淘宝开店介绍怎么写 编辑:程序博客网 时间:2024/04/29 19:25

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:MyProjectpyramid.reload_templates = truepyramid.debug_authorization = falsepyramid.debug_notfound = falsepyramid.debug_routematch = falsepyramid.default_locale_name = enpyramid.includes =    pyramid_debugtoolbar[server:main]use = egg:waitress#mainhost = 0.0.0.0port = 6543# Begin logging configuration[loggers]keys = root, myproject[handlers]keys = console[formatters]keys = generic[logger_root]level = INFOhandlers = console[logger_myproject]level = DEBUGhandlers =qualname = myproject[handler_console]class = StreamHandlerargs = (sys.stderr,)level = NOTSETformatter = 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:myprojectpyramid.reload_templates = truepyramid.debug_authorization = falsepyramid.debug_notfound = falsepyramid.debug_routematch = falsepyramid.default_locale_name = zh_CN #use Chinesepyramid.includes = pyramid_beaker    pyramid_debugtoolbar#for Mako Tempatemako.directories=myproject:templates#for MongoDBmongo_uri = mongodb://127.0.0.1/myproject# Beaker cachecache.regions = default_term, second, short_term, long_termcache.type = memorycache.second.expire = 1cache.short_term.expire = 60cache.default_term.expire = 300cache.long_term.expire = 3600# Beaker sessionssession.type = filesession.data_dir = %(here)s/data/sessions/datasession.lock_dir = %(here)s/data/sessions/lock#session.type = memorysession.key = myproject_sessionsession.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配置文件,包含大量测试和初始化设置。