Pyramid webapp中的重定向循环错误

时间:2014-03-19 08:36:07

标签: python pyramid

我有一个HTML表单发布到名为add_product的路由,该路由又会重定向到view_product:

<form action="/add_product" method="post">
....
</form>


@view_config(route_name='add_product', permission='create')
def add_product(request):
    print "TESTING" # <--------------------- nothing gets printed in the console!
    name = request.params['product_name']
    if not Product.get_by_name(name):
        Product.add_product(name, content='')
    return HTTPFound(location=request.route_url('view_product', pagename=name))


@view_config(route_name='view_product', renderer='templates/product.jinja2', permission='view')
def view_product(request):
    pagename = request.matchdict['pagename']
    product = DBSession.query(Product).filter_by(name=pagename).first()
    if product is None:
        return HTTPNotFound('No such page')
    return dict(product=product)

当我尝试提交表单时,我收到错误消息,指出网页有重定向循环。我通过输入print语句尝试调试,但没有任何内容打印到控制台。

我还使用Chrome开发工具检查了网络面板 - 我在POST看到一个/add_product请求,然后是GET次请求/add_product在重定向循环错误出现之前。

我完全不知道出了什么问题。有没有人有线索?

编辑:我的路线配置。

config.add_static_view('static', 'static', cache_max_age=3600)
config.add_route('index', '/')
config.add_route('register', '/register')
config.add_route('login', '/login')
config.add_route('logout', '/logout')
config.add_route('view_cosmeceutical', '/cosmeceuticals/{pagename}')
config.add_route('add_cosmeceutical', '/add_cosmeceutical')
config.add_route('update_cosmeceutical', '/update_cosmeceutical/{pagename}')
config.add_route('view_product', '/products/{pagename}')
config.add_route('add_product', '/add_product')
config.add_route('update_product', '/update_product/{pagename}')
config.add_route('add_reference', '/add_reference')
config.scan()

0 个答案:

没有答案