小编drn*_*gis的帖子

用于Ajax请求的Pyramid CORS

是否可以自动将Access-Control-Allow-Origin标题添加到由X-Requested-With金字塔中的ajax请求(带标题)启动的所有响应中?

python cors pyramid

12
推荐指数
2
解决办法
6612
查看次数

金字塔中的不同登录视图

有些URL由我的Pyramid应用程序处理.当未经身份验证的用户尝试打开任何URL时,用户将被重定向到登录表单:

def forbidden(request):
    if request.user.keyname == 'guest':
        return HTTPFound(location=request.route_url('auth.login',))

    request.response.status = 403
    return dict(subtitle=u"Access denied")

config.add_view(forbidden, context=HTTPForbidden, renderer='auth/forbidden.mako')
Run Code Online (Sandbox Code Playgroud)

但对于一些网址(路由),我不得不返回登录表单,而是返回401 Unauthorized status code带有WWW-Authenticate标题的表单.我如何设置我的路线来实现这一目标?我猜我必须使用route_predicate.

python pyramid

7
推荐指数
1
解决办法
375
查看次数

Mako逃离金字塔内的问题

我需要将javascript函数放到mako模板中.这个函数的第一个参数是string,所以我在*.mako文件中写入(dict(field_name ='geom')):

init_map(
    '${field_name}'
);
Run Code Online (Sandbox Code Playgroud)

但是,当我看到我的HTML页面时,它就像:

init_map(
    'geom'
)
Run Code Online (Sandbox Code Playgroud)

在这种情况下如何禁用转义?

渲染执行以下方式:

from pyramid.renderers import render
render('georenderer/map.mako', template_args)
Run Code Online (Sandbox Code Playgroud)

python escaping mako pyramid

6
推荐指数
1
解决办法
1975
查看次数

SQLAlchemy column_property 基础知识

我有两个模型:

class Report(Base):
    __tablename__ = 'report'
    id = Column(Integer, primary_key=True)

class ReportPhoto(Base):
    __tablename__ = 'report_photo'
    id = Column(Integer, primary_key=True)
    report_id = Column(Integer, ForeignKey(Report.id), nullable=False)

    report = relationship(Report, uselist=False, backref=backref('report_photo', uselist=True))
Run Code Online (Sandbox Code Playgroud)

我想在 Report 模型中添加一列,表明 ReportPhoto 中是否有任何记录。我尝试以这种方式使用column_property

class Report(Base):
    __tablename__ = 'report'
    id = Column(Integer, primary_key=True)

    has_photo = column_property(
        select(ReportPhoto.any())
    )
Run Code Online (Sandbox Code Playgroud)

但得到一个错误NameError: name 'ReportPhoto' is not defined。我该如何解决这个问题?

python orm sqlalchemy declarative

4
推荐指数
2
解决办法
5097
查看次数

基于记录属性的金字塔安全性

我在DB中有相同的界面用于查看和使用Pyramid应用程序编辑它们.例如:

为视图的记录路由的一个例子report的表:/birdreport/report/871;

report表编辑记录的路由示例:/birdreport/report/871/edit;

report表的每个记录都包含字段user_id- 该值与authenticated_userid函数返回的值相同.我很清楚如何edit通过添加查看权限来禁用访问权限.但是我如何才能启用访问权限edit只查看用户ID在相应记录中显示的用户?

python pyramid

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

标签 统计

python ×5

pyramid ×4

cors ×1

declarative ×1

escaping ×1

mako ×1

orm ×1

sqlalchemy ×1