问题标签 [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 - 将数据传递给中间件
我有为我做一些工作的中间件。是否可以将一些关于将要呈现的模板的数据传递给这个中间件?
让我们假设我有网址:
我想将价值传递给中间件。是否可以?
django - Django 中间件和 HttpRequest 变化
我有一个中间件来为每个传入的请求进行一些计算/检查。有些观点需要这个计算结果。
由于我不想两次调用相同的代码,我想将结果放在中间件中的 HttpRequest 中,以便视图能够读取它。
你能帮我正确的提示吗,我怎样才能向 HttpRequest 添加一个对象?
谢谢
django - Django 移动和全站重定向
我已经在 Google 上搜索了一段时间,但无法准确找到我要查找的内容,因此决定在这里向大家询问。
我有一个完整的网站和网站的移动版本(一页 jQuery Mobile 文件)。
理论上,我想要检查可能的移动设备的传入请求(我已经可以这样做)并重定向到移动站点。在移动站点上,用户可以单击指向设置 cookie 的完整站点的链接,并且不会将该用户重定向回移动站点(即使他们的设备每次请求都会满足该条件)。
我所能找到的只是关于如何检查移动/桌面设备的每个请求并相应地更改模板。在这种情况下,这不是我需要做的。对于移动版和桌面版来说,这是一个完全不同的模板。
在这种情况下有什么想法或解决方案可能会有所帮助?
更新 1:
所以我已经尝试实现这一点,但我遇到了一些奇怪的问题/问题。这是我的中间件(在设置中的中间件列表中最后列出)
这是当他们在 jQuery Mobile 中单击完整站点链接时要处理的视图。
在我看来,这应该可以正常工作,但事实并非如此。它从链接中访问 mobile_fullsite 视图,并且 url 从 .../mobile/ 更改为 .../fullsite/ 但它仍然看起来像 jQuery mobile,其中包含来自重定向页面的一些内容。
有任何想法吗?
django - 显示相同的“会话”,回合制 django 游戏
我真的不知道这种分散的问题是否适合这里,但无论如何我都会试一试。
我正在 Django 中构建一个基于回合的(Yatzee)游戏,其中我为用户/玩家提供了一个简单的拉力模型,为每个用户的记分板提供了一个更复杂的模型。
一个新游戏会生成一个新的记分牌,它基本上由许多 int-fields 和 boolean-fields 组成,每个分数一个(例如,如果你得到一个两对,有一个字段将保存分数和一个将其设置为“已分配”的字段)
问题是,通过这种方法,我在每回合后将分数保存到 db(sqlite) 中,我将能够“暂停”游戏并稍后继续。
我现在想开始研究的是如何在网络上为两个或多个游戏“托管”游戏,但实际上不知道从哪里开始。如果他们都坐在同一台计算机上没有问题,因为我可以通过 javascript 控制玩家/记分牌的数量。
为了做到这一点,我正在考虑以某种方式将属于“togheter”的记分牌分配给一个会话,但是我应该如何以及在哪里做这件事目前有点超出我的范围。
我已经阅读了一些有关 Django 中间件的信息,但无法真正弄清楚这是否比尝试从模型层解决它更好(相信这会有点困难......?)。
python - Django:WSGIRequest'对象在某些页面上没有属性'user'?
如果用户登录与否,我想设置一个 cookie。
我的中间件:
最后添加到MIDDLEWARE_CLASSES
settings.py 中。
问题:
- 错误:“WSGIRequest”对象没有属性“用户”
- 为什么,当我已经激活了身份验证和会话中间件时?
- 此外,有些页面运行流畅,有些页面出现此错误。
- 我究竟做错了什么 ?
django - Django 1.4 LocaleMiddleware not working with Apache, but works with runserver
My project has this middleware setting:
For local development, I setup a local_settings.py
module which redefines the middleware setting as:
Here I'm just removing the cache-related middleware, just for development.
In my Apache deploy, the local_settings.py
only redefines DEBUG
(to False
) and the DATABASES
dict.
I even installed IPython in the project's production virtualenv (the one that the Apache server uses) and executed this:
But, despite all this, I still have to enter a language identifier in the URL (as httpp://mysite.com/en/myview/
) to access any URL that uses from django.conf.urls.i18n.i18n_patterns
. And one of the functions of django.middleware.locale.LocaleMiddleware
is to do precisely that, when accessing a localized view without a language code prefix, guess it from the user-agent headers and redirect to the prefixed view.
How to debug what's going on?
c# - 什么是 ASP MVC 中的 django 中间件等价物?
基本上,我想为每个请求注入一些数据到 ViewData/ViewBag 中。
python - 浏览器延迟在 django admin 中更改页面内容(缓存,python/django)
我在 django 的项目中缓存了一个奇怪的问题。
我可以在 django-admin 中编辑我的页面内容。当我这样做并刷新站点时-什么都没有发生。我必须等待几分钟才能进行更改。有趣的是,当我更改浏览器(或计算机)时 - 我不必等待 - 更改已开启。是django,浏览器的问题还是什么?是否可以设置 setting.py 以立即获得更改?
顺便说一句,我已经发现当我关闭“django.middleware.cache.FetchFromCacheMiddleware”时 - 问题消失了,但我不想关闭缓存......
有任何想法吗?
django - 尽管 RequestContext Django 消息框架不显示消息
这是一个难题,
使用 Django 1.4,我无法通过消息中间件设置消息以显示在我的模板中。我梳理了Django 文档并确保我的 settings.py 文件引用了相关的应用程序、上下文处理器和中间件。我已确保我的视图是使用 RequestContext 实例呈现的。 然而,我仍然无法让任何消息出现在模板中。
设置.py:
我的消息 error_level 设置为 20(即“信息”及以上)。我正在使用默认映射。
视图.py:
模板:(funkyjazzdirectory/index.html)
我也试过用 {{msg}} 代替:
没有成功。
页面的其余部分输出正常,Django 不会抛出错误。控制台不包含任何异常。生成的 HTML 代码不包含 div,也不包含任何地方的列表标签。这个扩展的模板(base.html)不使用 {{messages}} 变量,也不调用使用它的模板标签。
我尝试将 {{messages}} 传递到自定义模板标签中,以便在 index.html 模板的顶部进行测试。在这里我可以做到:
...它产生一个可能是消息对象的方法/属性列表。然而,我根本无法对此进行迭代,因为“for m in messages:”甚至不会运行一次。尝试通过以下方式发现该实体的大小:
在控制台中没有给我任何东西。
我让它真正输出任何东西的唯一一次是当我手动将消息对象传递到 render_to_response 标记内的模板中,然后迭代 messages.error ({% for msg in messages.error %}) 这产生了两个要点在正确的 div 中:第一个填充了看起来像 var dump:", POST:, COOKIES:{'csrftoken':"... 第二个要点仅包含最后一条错误消息:“为什么不这样他妈的事情有用吗?”。(显然这只是一个测试,我没有将消息保存在通过 render_to_response 传递的字典中,因为我知道它应该通过上下文到达模板)
那么,我哪里做错了?
为什么我在模板中看不到错误消息?为什么我什至无法让消息出现在控制台中?
任何比我聪明的人能散发的光都会非常有帮助!
django - 中间件:在 process_request 中使用模型并在 process_response 中修改它
Django 会在 process_response 之后展平响应吗?
我有这个模型(简化版):
和中间件(简化):
在第一种情况下,我在第四次请求时获得了禁止页面:
在第二种情况下,我在第三次请求时获得了禁止页面:
这第二种情况是我想要的方式。为什么我必须首先对模型进行字符串化才能正常流动?我误解了什么?
编辑
我发现了问题。在实际代码中,我为 django.contrib.auth.models.User 使用外键,并使用关联用户的用户名对我的 Ticket 模型进行 unicoding: