【问题标题】:django - Howto inject a message in urls.pydjango - 如何在 urls.py 中注入消息
【发布时间】:2012-04-25 08:55:15
【问题描述】:

我有一个需要模板的第三方应用。

我想在 urls.py 中注入一条消息,以便消息 显示在模板中,因为我无权访问视图 的第 3 方应用程序。

如何通过 DRY 方式实现?

更新:尝试提供有关此问题的更多信息。

我的网站(outsourcefactor.com) 上有 django-registration,任何以“/signup/”开头的请求都会重定向到我无法控制的 django-registration。我本来想在 django 的消息框架中插入一条消息,这样我就可以在我控制的注册模板中打印消息。

我认为我可以插入消息的唯一位置是在 urls.py 中,就在将控件释放到 django-registration 之前,然后在注册模板中捕获消息并显示它。

我正在为我的事件驱动消息使用 django-messaging,并且不想通过上下文处理器或 ..etc 传递消息。

我试图避免分叉和修改 django-registration。 希望现在更清楚了。

【问题讨论】:

  • 使用上下文处理器。
  • 第三方应用是否显示django消息?
  • 你应该考虑使用 django-registration 信号——见this answer

标签: django django-templates messaging


【解决方案1】:

您可以使用自定义模板覆盖任何此 django-registration urls

【讨论】:

  • 我有一个 login.html 模板,效果很好,但需要 django-registration 没有提供的登录表单。我不想写一个新的模板。我想我可以添加自己的后端。
  • django-registration 没有登录视图,因为 django 有django.contrib.auth.views.login
  • 这正是我的意思,我想在激活后将用户发送到登录页面,并显示一条小消息“哦,您的帐户已激活,请继续登录”。但是现在我必须将用户发送到另一个具有登录页面链接的模板。没什么大不了的,我可以绕着它跳舞,但我希望它是干的。
猜你喜欢
  • 2011-07-09
  • 2015-09-02
  • 2011-06-17
  • 1970-01-01
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多