问题标签 [django-messages]

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.

0 投票
2 回答
3232 浏览

python - 如何向 Django 消息添加其他数据?

我正在尝试将此片段集成到我们的 Django 项目中:

这只是自定义HTMLCSS消息。

html看起来像这样:

因此,如果我想将它与消息框架集成,我可以这样做:

但是我想指定<h1>子消息的标题和列表,<p> 所以我需要在消息中添加类似字典的东西,它可以包含额外的属性,{'title':'This is a title','submessages':[1,2,3]}所以我可以这样做:

是否可以使用 Django 消息?或者你会建议另一种方法吗?我可以将这些变量传递到上下文中,但如果可能的话,我想使用消息。

0 投票
1 回答
424 浏览

django - 在 Django 基于类的视图中显示 HttpResponseRedirect 后的消息

要么我没有得到足够的睡眠,要么我错过了一些明显的东西。

无论我做什么,在 HttpResponseRedirect 之后,我都无法从基于类的视图中显示消息。

这是我的看法:

到目前为止,我已经仔细检查了所有会话设置是否正确,所有消息都设置正确,并且我已经重新启动了 VE 并刷新了缓存。

有什么建议么?

0 投票
1 回答
65 浏览

django - Is it bad to pass my entire `request` object to my `Models.py` for validations in Django when using django-messages?

Having trouble finding a totally clear answer to this question. In my learning, I was taught to not pass along the entire request object when trying to pass data from views.py to models.py (when using a django manager).

However, in my current scenario, I'm trying to setup validation methods in my models.py (using a Manager) whereby I utilize django-messages (https://docs.djangoproject.com/en/1.11/ref/contrib/messages/), to whom one requirement is the request object itself when generating custom errors, such as:

I am trying to keep all validations, error message generation, and creation or retrieval actions inside of my models.py using a manager (https://docs.djangoproject.com/en/1.11/topics/db/managers/), and simply hand back the relevant data to my views.py.

To achieve this, in my views.py, I create a dictionary with the full request object itself, I send this off for all validations/creations, and then check for errors upon the return, as a False is returned if any validation errors were flagged. Otherwise the success page will load with the new user.

views.py:

models.py:

Question:

Previously I had extracted all data from the request object via request.POST["my_data"] (did not pass the entire object but extracted what I needed into a custom dict), and was custom generating error messages. However, I wanted to practicing using django-messages, (of which requires the request object as a parameter, as this is what it attaches the errors to). Because I wanted all validations to occur in models.py, I sent my entire request object over (to then extract form data, but to also create new messages with django-messages).

Does passing the entire request object cause major drops in performance or is this bad practices? The fact that my learning lesson went so far out of the way to stress not passing the entire request object was a little confusing to me, especially considering to generate errors in my models.py via django-messages, I need access to the full object.

Any ideas?

Note: The other thought I had was to have my validation functions return a list of errors, to which I could iterate over and generate the django-messages errors (and using the request object in views.py), but this would place more logic/crunching on the controller, and was trying to keep everything nice and tight in the Manager (in models.py) for simplicity/organization.

Thanks in advance for reading, and let me know if I need to clarify any information here presented...was trying to provide a minimal chunk of my code to give context.

0 投票
1 回答
6413 浏览

html - django allauth 自定义消息:使用 html/css 样式化消息

Allauth 的消息默认存储为模板目录中的文本文件,这些看起来像:

这些使用 django 的模板标签,但不是“HTML 友好”。我想对这些进行样式设置,并具有以下内容:

但是上面的代码只是将 HTML 呈现为文本。我不能将此 HTML 放入模板中,而只是在模板中执行 {{ message }},因为我想根据每个消息的偏差(至少是颜色!)更改其中的一些内容。

我怎么能做到这一点?谢谢!

0 投票
2 回答
8757 浏览

python - 在 django 中传递消息时重定向

在我检查user_settings用户是否存在(如果它们不存在 - 用户被带到表单以输入并保存它们)之后,我正在尝试运行重定向。

我想将用户重定向到适当的表单并向他们发送消息,告诉他们必须“保存设置”,以便他们知道为什么要重定向。

该函数如下所示:

此功能检查用户设置并适当地重定向我 - 但该消息永远不会出现在模板的顶部。

您可能首先会想:“您的 Django 中的消息设置是否正确?”

我有其他功能,我使用不是重定向的消息,消息在模板中按预期显示,没有问题。消息已适当地集成到我的模板中并且可以正常工作。

只有当我使用时redirect,我才看到我正在发送的消息。

如果我render像下面这样使用,我会看到消息(但当然,URL 不会改变 - 我希望发生这种情况)。

我还有其他几个需要使用 a 的地方,redirect因为这样做在功能上很有意义 - 但我也想将消息传递给这些重定向。

user_settings函数如下所示:

我在文档中找不到任何内容说您无法发送带有重定向的消息......但我不知道如何让它们显示。

编辑: 这就是我在模板中呈现消息的方式:

我不确定这是否重要 - 但看起来它几乎从某个地方调用了两次“GET”。

像这样正常调用两次吗?

这两个 URL 的 URL 部分如下所示:

0 投票
1 回答
263 浏览

django - Django 消息,如何隐藏特定消息

我正在使用 Django 的消息框架来指示成功的操作和失败的操作。

如何排除帐户登录和注销消息?目前,登录后登陆页面显示 Successfully signed in as 'username'。我不希望显示此消息,但应显示所有其他成功消息。我尝试的内容如下所示。我尝试使用逻辑来查找消息中是否包含单词"signed"。如果有,请不要显示它。但是,这不起作用。

有人可以解释为什么上面的代码仍然显示甚至包含"signed"在其中的消息吗?

0 投票
1 回答
68 浏览

django - Django Views 中用户的 REQUEST 对象如何区分?

我不确定我在做什么是对还是错。但是这个功能让我发现了 Django Views 中发生的一个非常深奥的事件。

所以代码:

ISSUE:现在我遇到的奇怪的事情发生在我在return redirect('reverse_url_mapping_to_get_form')(提到的代码的最后一行)中打错字。

显然我遇到了Django的错误页面,说有“NoReverseMatch”。但是当我重新加载表单时(通过浏览器正常刷新,在“url”映射到get_form(request)),我发现我在该行中添加的错误消息messages.add_message(request, messages.INFO, error_message)被带到了 html(some_html.html)。甚至认为发生了错误,我从未成功重定向到该 url。

现在我明白了,messages.add_message()在请求上有些捎带,但是,在发生错误的情况下,它不应该被破坏。重定向未成功执行的情况。

为什么重新加载时消息仍在请求对象中?

它不应该被销毁(因为它是一个完全独立的 GET 请求;我通过重新加载从浏览器启动它)?

提前致谢。

0 投票
0 回答
47 浏览

python - 如果启用了 chrome 数据保护程序,则不显示 Django 消息

谷歌数据保护程序压缩数据以减少流量使用。它在移动 (android) chrome 中默认启用,并且可能在桌面 chrome 中用作插件。

GDS 在 django 上时不会显示消息。

我创建了一个示例应用程序(Python 3.5、Django 1.10.8、uwsgi+nginx)来捕获这个错误。这个应用程序在主页上有一个“提交”按钮,用于触发查看方法:

完整的应用程序源在这里

fqtest.ru 提供已部署的应用程序

重现步骤:

  1. 部署到某个服务器(或使用我的 fqtest.ru)。不要忘记在 settigs.py 中指定允许的主机。
  2. 如果您有 chrome 数据保护程序插件,请关闭它或使用启动 ingognito 模式。
  3. 打开主页并单击 Go bitton。结果:消息按预期显示
  4. 打开数据保护插件或安装它(或从 android chrome 打开站点)
  5. 打开主页并单击 Go bitton。结果:应该显示的消息未显示。

问题:

  1. 这种行为的原因是什么?
  2. 如何修复/解决它?

希望得到帮助。谢谢!

0 投票
1 回答
644 浏览

django - Django:消息未显示

我具有以下功能,可对 ListView 中的选定行进行批量操作。我正在显示成功和错误的消息。

成功消息正在正确显示。但错误消息永远不会出现。请指导我可能是什么原因?

以下是列表视图:

以下是消息模板:

谢谢。

0 投票
0 回答
263 浏览

python - Django ClassBasedView 中未显示成功消息

我试图在保存表单后显示成功消息。我为此使用消息框架

设置.py

视图.py

志愿者.html

但不显示该消息。我可以在重定向的 url 中看到请求标头上的消息 json,但未显示。请求头的一部分

消息未显示的原因可能是什么。有什么我想念的吗。