URL slug依赖模板标记

时间:2011-11-03 09:01:14

标签: 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 "Hello" %}。我打算只在我的一个视图中使用这个模板标记。我的这个视图可以访问像这样^/myview/(?P<workspace>[a-z0-9]{,16})/$的URL。正如你所看到它有一个名为workspace的slug,当我查询我的模型以获得real_word时,我需要使用这个slug。我会像这样查询模型:Terminology.objects.get(workspace=<workspace_from_slug>, fake_word=<fake_word_from_tag>)

我可以访问fake_word,但我需要从slug中获取workspace。我该如何实现呢?我可以弄清楚模板标签代码本身,这是困扰我的概念和实现。

我猜这是一种更好的方法,而不是每次都将请求传递给template-tag。如何使用@decorator_from_middleware(MyMiddleware)

来查看特定于视图的中间件

感谢。


编辑:添加详细信息以获取详细程度。

我的这个视图将呈现一个模板。此模板可以包含我的模板标记的使用,例如{% getreal "Hello" %}{% getreal "Color" %}等。目标是使用{`Terminology模型为每个单词找到替换单词{1}}作为上下文。术语模型可以有这样的记录:

workspace

如果有人要访问workspace fake_word real_word --------- --------- --------- workspace1 Hello Greeting workspace2 Hello Expression 且模板包含/myview/workspace1,则该模板标记的输出将为{% getreal "Hello" %}

0 个答案:

没有答案