Tag: django templates

在django自定义模板标签中访问请求

我在myapp_extras.py中的代码: from django import template register = template.Library() @register.inclusion_tag('new/userinfo.html') def address(): address = request.session['address'] return {'address':address} 在'settings.py'中: TEMPLATE_CONTEXT_PROCESSORS =( "django.core.context_processors.auth", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", 'django.core.context_processors.request' ) 但我得到一个错误: TemplateSyntaxError at /items/ Caught an exception while rendering: global name 'request' is not defined Original Traceback (most recent call last): File "C:\Python25\lib\site-packages\django\template\debug.py", line 71, in render_node result = node.render(context) […]

如何在Django模板中执行查询过滤

我需要从一个Django模板中执行一个过滤的查询,以获得一组等同于视图内的python代码的对象: queryset = Modelclass.objects.filter(somekey=foo) 在我的模板中,我想要做的 {% for object in data.somekey_set.FILTER %} 但我似乎无法find如何写FILTER。

通过在Django模板中的索引引用列表项?

这可能很简单,但我环顾四周,找不到答案。 从Django模板的列表中引用单个项目的最佳方法是什么? 换句话说,我该如何在模板语言中做相同的{{ data[0] }} ? 谢谢。

是否有与Python和Django一起使用的HAML实现?

我碰巧遇到了HAML ,这是一种有趣而美丽的方式来标记内容并为HTML编写模板。 由于我使用Python和Django来开发我的Web开发需求,因此我希望看看是否有可用于替代Django模板引擎的HAML(或一些类似概念 – 不必完全相同)的Python实现。

Django的模板:包括和扩展

我想在两个不同的基础文件中提供相同的内容。 所以我试图这样做: page1.html: {% extends "base1.html" %} {% include "commondata.html" %} page2.html: {% extends "base2.html" %} {% include "commondata.html" %} 问题是,我似乎无法使用扩展和包括。 有没有办法做到这一点? 如果不是,我怎么能做到以上? commondata.html覆盖了base1.html和base2.html中指定的块 这样做的目的是提供pdf和html格式的相同页面,格式稍有不同。 上面的问题虽然简化了我想要做的,如果我能得到一个答案,它将解决我的问题。

如何访问Django模板中的用户configuration文件?

我正在使用AUTH_PROFILE_MODULE存储一些额外的每个用户的信息。 我们可以使用{{ request.user }}在Django模板中访问用户,但是如何访问configuration文件中的字段,因为configuration文件只能通过函数user.get_profile() ? 是否真的需要每次明确地将configuration文件传递到模板中?

Django的:我如何添加任意的HTML属性来input表单上的字段?

我有一个像这样的模板呈现的input字段: <div class="field"> {{ form.city }} </div> 其中呈现为: <div class="field"> <input id="id_city" type="text" name="city" maxlength="100" /> </div> 现在假设我想要为呈现的input元素添加一个autocomplete =“off”属性,我该怎么做? 或者onclick =“xyz()”或class =“my-special-css-class”?

如何在没有Django其余部分的情况下使用Django模板?

我想在我的(Python)代码中使用Django模板引擎,但是我没有构build一个基于Django的网站。 如何在不使用settings.py文件(及其他文件)的情况下使用它并设置DJANGO_SETTINGS_MODULE环境variables? 如果我运行下面的代码: >>> import django.template >>> from django.template import Template, Context >>> t = Template('My name is {{ my_name }}.') 我得到: ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

Django模板系统,调用模型中的函数

我想从模型中调用一个函数,例如: class ChannelStatus(models.Model): ………………………… ………………………… def get_related_deltas(self,epk): mystring = "" if not self.get_error_code_delta(epk): return mystring else: for i in self.get_listof_outage(): item = i.error_code.all() for x in item: if epk == x.id: mystring= mystring +" "+str(i.delta()) return mystring 而当我想从模板中调用这个:假设渲染时,我传递给channel_status_list channel_status_list = ChannelStatus.objects.all() {% for i in channel_status_list %} {{ i.get_related_deltas(3) }} {% endfor %} 这不起作用,我可以调用一个不消耗任何东西的函数,但是如果它有参数,它就不会find该做什么。 干杯

Django,模板上下文处理器

我有一个奇怪的问题,我想添加一个全局查询使用上下文处理器。 这是我如何做到这一点: 在我的应用程序中,这样做了一个processor.py: from myproject.myapp.models import Foo def foos(request): return {'foos': Foo.objects.all()} 并在我的setting.py结尾添加了这个: TEMPLATE_CONTEXT_PROCESSORS = ('myapp.processor.foos',) 最后,我将这个观点传递给我: def index_view(request): return render_to_response('index.html', {}, context_instance=RequestContext(request)) 并在我的index.html模板: <select id="select_foo"> {% for foo in foos %} <option value="/{{ foo.slug }}">{{ foo.name }}</option> {% endfor %} </select> 最后是我的url: (r'^$', 'myapp.views.index_view'), 我的foos显示没有任何问题,但是我的media_url和其他上下文都没有了。 可能是什么问题