问题标签 [django-middleware]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - DRYness 的 Django url 配置
我项目中的大多数视图都接受可选的用户名参数,如果存在,过滤传递给该用户模板的查询集。因此,例如:
索引视图处理以下两种 url 模式:
由于有许多这样的应用程序,通过复制模式来实现相同的逻辑似乎不是很干。我认为可以递归地包含主 urls.py 模块,所以我这样做了:
我的理由是,当包含其他 urls 模块时,匹配的模式将从路径中删除。所以,我希望
会成为
当它与递归包含的 urls 模块匹配时,带有额外的用户名参数。但这会导致开发服务器在发出请求时静默死机。
我能想到的第二种方法是编写一个中间件,如果存在,它将匹配url中的模式,并将查看的用户添加到请求中并从请求路径中删除与用户名匹配的部分。但我不想弄乱路径,因为这可能会产生不可预测的结果。
你会推荐什么?我对 DRYness 太挑剔了吗?
谢谢,奥马特
python - 如何使用 Google App Engine 执行 Rails 样式 before_filter?
该应用程序设置为基本的 WSGI 应用程序。我只是想在 requestHandler 运行之前调用一个函数。
我想要一些非常类似于 before_filter 在 Rails 中的工作方式的东西。
谢谢。
django - AttributeError:“WSGIRequest”对象没有属性“会话”
我在随机时间不断收到此错误,每当我触摸 django.wsgi 文件时,它都会得到修复,仅在几个小时后再次发生。我不知道该怎么做。我的 middleware_classes 如下:
当我执行“if request.session”语句时,错误总是发生在 facebook 中间件中。谢谢
django - Django 消息中间件不能与应用引擎一起使用吗?
我正在尝试在我的 Django App 引擎项目中实现消息中间件,但它给出了如下错误消息:
我已经按照链接http://djangoadvent.com/1.2/messages-rest-us/来实现它。不能将此中间件与 Google App 引擎一起使用吗?如果是这样,是否有任何替代方法可以使用 Google 应用引擎和 Django 获得相同的功能?
使其在谷歌应用引擎上运行需要哪些更改?
请建议。
提前致谢。
django - 从 Django 的中间件修改 settings.SITE_ID 是否安全?
我已经修改了在http://effbot.org/zone/django-multihost.htm中找到的 multihost.py 中间件,以动态设置 settings.SITE_ID,但有些担心我可能刚刚离开预订。
我为多域托管找到的大多数示例都是使用硬编码到各自 SITE_ID 的多个 settings.py 文件设置的。
我是否在这里创建了具有致命缺陷的修复程序?将动态更改此值会在 a** 上咬我。
对于好奇的人来说,到目前为止它已经启动并运行,但还没有经受住实际的流量。
django - Django - 使用带有只读数据库的 sqlalchemy
我正在使用 Django 来很好地显示来自我只有/想要读取访问权限的 Oracle 数据库的统计信息等。因为数据库有复合主键,所以我没有使用 Django 的 ORM 层,而是使用 SQLAlchemy。我唯一安装的应用程序是我自己的,而且MIDDLEWARE_CLASSES
我只使用CommonMiddleware
.
基于此,我有一个应用程序可以访问数据库并且运行良好。我把我的 sqlalchemy 引擎、会话和 orm.mapper 都放在我的里面,models.py
然后views.py
我只导入会话和已映射的类。
但是现在我想制作第二个应用程序,显然我应该将这些东西移到models.py
更通用的地方,以便它适用于整个项目,而不仅仅是一个应用程序。
我应该把它放在哪里?我应该写一些非常简单的会话中间件吗?或者是否有一些文件在服务器启动时只执行一次?由于我从不写入数据库,我应该尝试让所有请求都属于同一个会话吗?
我是否应该在项目库中制作随机文件connect.py
并将其导入设置文件?
目前我正在使用内置服务器,但我可能会在某个时候使用 apache + mod_wsgi。
python - django 中间件重定向无限循环
我有一个中间件,它检查会话值并根据该值进行重定向。我的问题是,它正在创建一个无限重定向循环,我不知道为什么。
所以,我想要做的是检查会话可见的值是否为是,如果不是,则将用户重定向到我的测试视图。
这是我的中间件:
python - 使用中间件将 Django 应用程序排除在本地化之外
我需要本地化一个 django 项目,但只保留一个应用程序(博客)英语。
我编写了这个中间件来实现这一点:
问题是,它假设中间件直接位于应用程序模块(例如blog/middleware.py)中以检索应用程序名称。其他项目可能在blog/middleware/delocalize.py或其他东西中有中间件。
检索当前正在运行的应用程序名称的最佳方法是什么?
django - 搜索引擎如何看到本地化的 Django 站点?
我有一个 Django 站点,它使用本地化中间件与 gettext 和 trans/blocktrans 模板标签结合,根据用户代理字符串中的首选语言向访问者显示不同的页面(这似乎是在 Django 中做事的标准方式) .
这适用于支持的语言(目前只有西班牙语、英语和德语,还有更多语言)。如果我将浏览器中的首选语言设置为不同的语言,我会得到该翻译的页面。但是,我不知道它如何出现在搜索引擎中。
当搜索引擎抓取网站时,它的代理字符串中是否通常有首选语言?德国蜘蛛会获得德国网站,西班牙蜘蛛会获得西班牙网站,还是只会获得当用户没有设置语言时显示的默认英文网站?这是否因搜索引擎而异,是否有一种“标准方式”来处理单个爬虫可能会或可能不会坚持的事情?
django - Django:错误:配置不当的模块未定义“”类
配置不当:中间件模块“report”未定义“ReportMiddleware”类
但是我已经定义了这个,但可能定义在错误的地方,那么我应该将这个类文件放在哪里?