Python URL段塞相关模板标记
我想实现一个名为Python URL段塞相关模板标记,python,django,django-templates,Python,Django,Django Templates,我想实现一个名为getreal的自定义模板标记。这样做的目的是从模型中获取值。这个模型看起来像: class Terminology(models.Model): workspace = models.CharField(max_length=16) fake_word = models.CharField(max_length=200) real_word = models.CharField(max_length=200) 下面是它的用法:{%getreal“Hel
getreal
的自定义模板标记。这样做的目的是从模型中获取值。这个模型看起来像:
class Terminology(models.Model):
workspace = models.CharField(max_length=16)
fake_word = models.CharField(max_length=200)
real_word = models.CharField(max_length=200)
下面是它的用法:{%getreal“Hello”%}
。我只打算在我的一个视图中使用此模板标记。我的视图可以通过这样的URL访问^/myview/(?P[a-z0-9]{,16})/$
。正如您所见,它有一个名为workspace的slug,当我查询我的模型以获取real\u word
时,我需要使用这个slug。我会这样查询模型:术语.objects.get(workspace=,fake\u word=)
我可以访问假词
,但我需要从slug获取工作区
。我应该如何实现这一点?我可以理解模板标记代码本身,这是让我困惑的概念和实现
我猜有一种更好的方法可以做到这一点,而不是每次都将请求传递给模板标记。使用中间件(MyMiddleware)中的@decorator\u创建一个特定于视图的中间件怎么样
谢谢
编辑:为详细信息添加更多详细信息
我的这个视图将呈现一个模板。此模板可以包含我的模板标记的用法,如-{%getreal“Hello”%}
,{%getreal“Color”%}
,等等。目标是使用工作区
作为上下文,从`术语
模型中为这些单词中的每一个查找替换单词。术语模型可以有如下记录:
workspace fake_word real_word
--------- --------- ---------
workspace1 Hello Greeting
workspace2 Hello Expression
如果有人访问/myview/workspace1
并且模板包含{%getreal“Hello”%}
,那么模板标记的输出将是问候语
,我可能很厚,但我不确定您希望标记做什么-它应该有什么输出?您可以尝试编写一些伪代码来描述它的功能吗?如果您只在一个视图中执行此操作,为什么不在视图中执行查询呢?否则,您必须在视图中检查slug,将slug变量传递给模板,然后将模板变量传递给模板tagHi Dominic,请查看我的编辑。希望这能解释得更好一点。再说一遍,为什么不在视图中执行此操作?您是否有机会在设置中请求django.core.context\u处理器。context\u处理器
?