我正在为一家小公司的一个小型内联网网站工作,在那里用户应该能够发布.我设想了一种非常简单的身份验证机制,人们只需输入他们的邮箱地址,然后收到一个唯一的登录URL,该URL设置一个cookie,该cookie将始终识别他们以供将来的请求使用.

在我的模板设置中,我有base.html和其他页面对此进行了扩展.我想在底部显示登录或注册按钮.html,但如何确保必要的变量始终是上下文的一部分?似乎每个视图都只是按照它们喜欢的方式设置上下文,而没有全局上下文填充.有没有一种方法可以在每次创建上下文时不包含用户?

或者我必须创建自己的自定义快捷方式才能正确设置上下文?

推荐答案

从更一般的意义上讲,不必在每个视图中显式设置变量,听起来您希望编写自己的context processor个变量.

从文档中:

上下文处理器有一个非常简单的接口:它只是一个Python函数,接受一个参数,一个HttpRequest对象,并返回一个添加到模板上下文的字典.每个上下文处理器必须返回一个字典.

Django相关问答推荐

如何显示日期?

Django Admin中显示的DateField下面的小提示是什么?

从Azure Web应用服务器上的cron任务的虚拟环境加载变量

执行官/start.sh:没有这样的文件或目录

Django:如何 Select 没有其他项目引用的项目?

只从查询集中获取某种类型的最新项目

lower() 在 None 上被调用

查询 django 模型以找到当月最好的公司销售

Django ORM __in 但不是精确的,包含不区分大小写的?

Django获取具有值的相关对象的计数并将其添加到注释中

Django 模板:翻译带有 HTML 的文本块的最佳实践

模板过滤器修剪任何前导leading或尾随trailing空格

AttributeError:'Manager'对象在Django中没有属性'get_by_natural_key'错误?

删除所有实例后,Django 模型实例主键不会重置为 1

重命名 django 元素的简单方法

Django - 无法为具有动态 upload_to 值的 ImageField 创建迁移

django 模板列表变量中的最后一个元素

Django:验证上传文件的文件类型

它是如何工作的,Django INSTALLED_APPS 的命名约定?

ValueError: 无法解析相关模型 u'app.model'