标签: pyramid

金字塔:为什么NewRequest订阅者每次请求都会调用3次?

这对我很有意思,我已经检查过了.正如您所读,NewRequest订阅者在每个请求上被调用3次(或者在启用debug_toolbar的BeforeRender情况下调用7次...),而每个请求调用一次订阅者(在启用debug_toolbar的情况下调用> 30次).

所以,如果我想通过事件将mongodb连接到我的项目NewRequest,每个请求将完成3次...

这是为什么?服务器为什么要在每个请求上执行相同的工作3次?

提前致谢!!!

python pyramid

0
推荐指数
1
解决办法
368
查看次数

如何使用IOS访问在线mongoDB数据

我的朋友有一个使用Pyramid框架构建的网站,并使用MongoDB存储数据.如果我想构建iPhone应用程序,如何从该数据库访问数据?

我知道Obj-C并且已经构建了简单的iOS应用程序,但它们都没有使用非本地数据.我用Google搜索但没有取得好成绩.我只是不知道从哪里开始.任何关于相关问题的好教程或示例代码都将受到赞赏!

python database mongodb ios pyramid

0
推荐指数
1
解决办法
1319
查看次数

如何将会话变量设置为数据库中的值?

newb to python和pyramid/pylons.用户登录后,我想在我的数据库中获取一些数据并将其存储在会话变量中.我已经能够用remember()存储用户的登录ID.使用request.session,我可以设置一个会话变量,只要它是一个字符串,但如果我尝试从我的数据库中检索一些东西,我会收到一个错误:"BadPickleGet: ".这是我的观点的相关部分:

if 'form.submitted' in request.params:
        login = request.params['login']
        password = request.params['password']
        if User.check_password(login, password):
            headers = remember(request, login) # ie dave
            session = request.session
            #session['myvar'] = 'somethinghardcoded' # this works!
            session['myvar'] = User.myfield # this doesn't work!
            session.save()
            return HTTPFound(location=came_from, headers=headers)
Run Code Online (Sandbox Code Playgroud)

python pylons pyramid

0
推荐指数
1
解决办法
1561
查看次数

更改后运行development.ini

我在development.ini上做了一些改动.如何再次运行它,以便看到变化?我跑的时候

 ../bin/pserve development.ini
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,即广告已经被拍摄?

python pyramid

0
推荐指数
1
解决办法
401
查看次数

Pyramid app:如何将值传递给request.route_url?

我在views.py文件中将此作为我的主页的视图配置:

@view_config(route_name='home_page', renderer='templates/edit.pt')
def home_page(request):
    if 'form.submitted' in request.params:
        name= request.params['name']
        body = request.params['body']
        page=Page(name,body)
        DBSession.add(page)
        return HTTPFound(location=request.route_url('view_page',pagename=name))
    return {}        
Run Code Online (Sandbox Code Playgroud)

此外,这是edit.pt模板中的表单:

<form action="/view_page" method="post">
    <div>
      <input type="text" name="name"/>
    </div>
    <div>
      <input type="text" name="body"/>
    </div>
<label for="stl">Stl</label>
<input name="stl" type="file" value="" />
<input type="submit" name='form.submitted' value="Save"/>
</form>     
Run Code Online (Sandbox Code Playgroud)

我也在我的init .py文件中

    config.add_route('home_page', '/')
    config.add_route('view_page', '/{pagename}')
Run Code Online (Sandbox Code Playgroud)

现在,当我提交表单时,它只是尝试转到localhost:6543/view_page.这将返回404,因为没有view_page资源或通向它的路由.相反,我希望它转到localhost:6543 /(我刚刚创建的页面的名称,也就是表单中的第一个输入框).我怎样才能做到这一点?

编辑:我担心其他东西可能会告诉它路由到view_page,因为我甚至尝试将其更改为

return HTTPFound(location=request.route_url('front_page',pagename=name))
Run Code Online (Sandbox Code Playgroud)

它仍然转到/ view_page.没有名为front_page的路由,所以我至少会怀疑它会抛出错误.

另外,如果你能告诉我你在哪里找到这些信息,我将非常感激.我一直在关注http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/api/request.html?highlight=request.route_url#pyramid.request.Request.route_url但似乎无法从中找到用处.

编辑:我应该使用资产规范而不是路径名吗?所以

return HTTPFound(Location=request.route_url('tutorial:templates/view.pt','/{pagename}'))
Run Code Online (Sandbox Code Playgroud)

另外,我正在阅读这篇文章,它似乎对语法非常有帮助:http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/urldispatch.html#urldispatch-chapter

python routing pyramid

0
推荐指数
1
解决办法
3575
查看次数

Pyramid_exclog : SMTPAuthenticationError: (530, '必须先发出一个 STARTTLS 命令')

我正在使用 pyramid_exclog 记录异常并将这些异常作为电子邮件发送。我正在使用 Amazon aws SMTP 发送电子邮件。但我收到以下错误:

SMTPAuthenticationError: (530, 'Must issue a STARTTLS command first')
Run Code Online (Sandbox Code Playgroud)

这是我使用的代码:

[handler_email_exc_handler]
class = handlers.SMTPHandler
args = (('email-smtp.us-east-1.amazonaws.com', 587), 'no-reply@company.com', ['me@company.com'], 'Company Exception' ,('<username>','<user_key>'),None)
level = ERROR
formatter = exc_formatter
Run Code Online (Sandbox Code Playgroud)

据我所知,aws 凭据没有任何问题,因为我使用它们通过 Thunderbird 发送邮件。

smtp exception-handling amazon-web-services pyramid

0
推荐指数
1
解决办法
2628
查看次数

金字塔视图配置中的RESTful设计

这是我第一次尝试设计Web应用程序.我为SQLAlchemy数据库创建了一个CRUD操作API.我现在正在尝试使用Pyramid设计一个RESTful Web框架来支持这个DB及其所有实体.

我一直在努力研究如何进行PUT(更新).我知道我还需要纳入某些条件(例如Code 202).我不确定如何使用PUT处理对象替换.视图配置中的方法有点令人困惑,我相信我正在遵循db CRUD操作.

其次,我认为必须通过查找所有资源{id}.我相信我的get_user方法是正确的. User_id保存用户的所有信息db......因此,如果a user被查找,那么id我不需要拥有所有其他信息(参见delete_user方法).

我已经阅读了一些关于设计RESTful设计的精彩教程,但鉴于我是自学成才,我仍在苦苦挣扎.真的很感谢您的帮助!

以下是一些显示问题的代码示例:

_ init _.py(URIs):

config.add_route('post_user', '/users') # POST (HTTP) / CREATE (CRUD)
config.add_route('get_user', '/users/{id}') #GET (HTTP) / RETRIEVE (CRUD)
config.add_route('put_user', '/users/{id}') # PUT (HTTP) / UPDATE (CRUD)
config.add_route('delete_user', '/users/{id}') # DELETE (HTTP) / DELETE (CRUD)
Run Code Online (Sandbox Code Playgroud)

views.py(查看配置 - RESTful):

@view_defaults(renderer='json')
class RESTView(object):
    api = ConvenienceAPI() # CRUD API for database
    def __init__(self, request):
        self.request = request …
Run Code Online (Sandbox Code Playgroud)

python rest uri crud pyramid

0
推荐指数
1
解决办法
1575
查看次数

如何将Python用于Web应用程序?

我正在创建一个学校管理系统,负责处理教师和学生的文件上传和下载.此外,将有大量的数据库写入和读取(例如,学生正在学习哪些课程,学生的成绩等等)

我希望在前端使用AJAX模型使用python更新动态网页.

在后端我想使用python进行文件处理,数据库读取向用户显示其内容,数据库写入用户在Web应用程序和内存缓存上更新他/她的内容.

我正在使用的堆栈是......

CentOS + Hadoop + Hypertable + Python

我目前正在阅读金字塔文档,经过几章后,我看不到金字塔如何帮助我完成我在PHP中可以做的事情,如果它确实这样做,为什么这么复杂?

金字塔是正确的工具,还是我应该使用web2py

如果金字塔是最好的工具,我在哪里可以看到金字塔中构建的复杂应用程序的示例代码.在阅读其他代码时,我倾向于最清楚.

由于缺乏灵活性,Django无法使用

python web2py pyramid

-1
推荐指数
1
解决办法
1222
查看次数

通过Flask在Pyramid中启动新的Python Web项目的原因是什么?

即将开始一个新的Web项目,我不确定选择这两种语言中的哪一种.每个人的优点/缺点是什么?从我粗略的研究来看,金字塔似乎有更陡峭的学习曲线,但有更好的支持网络,而Flask轻量级但是不活跃的开发者社区.

python flask pyramid

-1
推荐指数
1
解决办法
1659
查看次数

pserve抱怨__init.py__"没有'主'属性"

我正在尝试在新机器上运行金字塔项目,我们已经看到了这个奇怪的错误:

 pserve pubmanage/production.ini

ImportError: <module 'pubmanage' from '/home/frodeo/pubbery/webapp/pubmanage/__init__.pyc'> has no 'main' attribute
Run Code Online (Sandbox Code Playgroud)

关于发生了什么的任何想法?

python pyramid

-1
推荐指数
1
解决办法
615
查看次数

运行示例金字塔程序时出现问题.给ImportError:没有名为execptions的模块错误

我是python和Pyramid的新手.我今天安装了金字塔,我已经在我的mac机器上预装了python 2.7.1.我已经按照官方网站上提到说明安装了金字塔.我已经在网站上提到了virtualenv和nositepackages,我在我的/users/sreekanth 目录中安装了金字塔

安装后,我尝试了我的第一个示例程序,如文档中所述.

当我尝试运行该程序时,我收到的错误如下所示.

sreekanths-MacBook-Pro:tasks Sreekanth$ ../bin/python2.7 tasks.py
Traceback (most recent call last):
  File "tasks.py", line 87, in <module>
    config.scan()
  File "/Users/Sreekanth/env/lib/python2.7/site-packages/pyramid-1.3a3-py2.7.egg/pyramid/config/__init__.py", line 893, in scan
    scanner.scan(package, categories=categories, onerror=onerror)
  File "/Users/Sreekanth/env/lib/python2.7/site-packages/venusian-1.0a2-py2.7.egg/venusian/__init__.py", line 95, in scan
    invoke(name, ob)
  File "/Users/Sreekanth/env/lib/python2.7/site-packages/venusian-1.0a2-py2.7.egg/venusian/__init__.py", line 92, in invoke
    callback(self, name, ob)
  File "/Users/Sreekanth/env/lib/python2.7/site-packages/pyramid-1.3a3-py2.7.egg/pyramid/view.py", line 210, in callback
    config.add_view(view=ob, **settings)
  File "/Users/Sreekanth/env/lib/python2.7/site-packages/pyramid-1.3a3-py2.7.egg/pyramid/config/views.py", line 575, in wrapper
    return wrapped(*arg, **defaults)
  File "/Users/Sreekanth/env/lib/python2.7/site-packages/pyramid-1.3a3-py2.7.egg/pyramid/config/util.py", line 59, in wrapper
    result = wrapped(self, …
Run Code Online (Sandbox Code Playgroud)

python pyramid

-2
推荐指数
1
解决办法
1335
查看次数

如何在Python中获取此数组的长度?金字塔框架

我试图在金字塔中获得以下数组的长度.

在此输入图像描述

当我在下面尝试这个

${outbox_details.details['declined']} 
${outbox_details.details['accepted']}
${outbox_details.details['pending']}
Run Code Online (Sandbox Code Playgroud)

我看到我认为在HTML中生成的空数组: 在此输入图像描述

上面的完整标记:

<li>
    <img src="..." alt="Denied"/>${outbox_details.details['declined']} denied
</li>
<li>
    <img src="..." alt="Accepted"/>${outbox_details.details['accepted']} accepted
</li>
<li>
    <img src="..." alt="Pending"/>${outbox_details.details['pending']} pending
</li>
Run Code Online (Sandbox Code Playgroud)



我试过.length和.len,但是他们都在PyCharm中出错了:

${outbox_details.details.length.(['declined'])} 
${outbox_details.details.len['declined']}
${outbox_details.details.len(['declined'])} 
Run Code Online (Sandbox Code Playgroud)

如果您是Python或后端开发人员,您将如何获得已接受,已拒绝或待定数组的长度?

python arrays pyramid

-3
推荐指数
1
解决办法
1万
查看次数

如何创建函数py并调用这些函数?

我正在使用Pyramid框架练习Python.

myfuncs.py在我的主包文件夹中创建了一个py,其中还有一个带有views.pyinside和Models文件夹的Views文件夹(里面的模型)以及静态文件和模板的其他文件夹(由Pyramid scaffolding创建).

我想在myproject包根目录下的myfuncs.py中定义函数和类,然后从位于各自视图和模型文件夹中的任何视图和模型中访问它们.

我怎样才能做到这一点?我尝试导入但它不起作用.

python python-2.7 pyramid

-4
推荐指数
1
解决办法
184
查看次数