标签: django-templates

需要在django模板中将字符串转换为int


我试图将url参数传递给像这样的django模板......

response = render_to_string('persistConTemplate.html', request.GET)
Run Code Online (Sandbox Code Playgroud)

这是我的views.py文件中的调用行.persistConTemplate.html是我的模板和request.GET的名称是包含url参数的字典.

在模板中我尝试使用这样的参数之一......

{% for item in (numItems) %}

  item {{item}}

{% endfor %}
Run Code Online (Sandbox Code Playgroud)

numItems是我在我的请求中发送的url参数之一,就像这样......

http:/someDomain/persistentConTest.html/?numItems=12
Run Code Online (Sandbox Code Playgroud)

当我尝试上面的for循环时,我得到这样的输出....

图像1图像2

我期待并希望看到图像打印12次...

图像1图像2图像3图像4图像5图像6图像7图像8图像9图像10图像11图像12

谁能告诉我我错了什么?

django django-templates

43
推荐指数
4
解决办法
6万
查看次数

从模板中获取Django表单小部件的类型

我正在遍历表单的字段,对于某些字段,我想要稍微不同的布局,需要更改HTML.

要准确地做到这一点,我只需要知道小部件类型.它的类名或类似的东西.在标准的python中,这很容易!field.field.widget.__class__.__name__

不幸的是,您不允许访问模板中的下划线变量.大!

可以测试,field.field.widget.input_type但这仅适用于文本/密码<input ../>类型.我需要更多的解决方案.

对我而言,无论它看起来多么困难,最适合在模板级别执行此操作.我已经将处理字段HTML的代码外包给了一个单独的模板,该模板包含在字段循环中.这意味着它在ModelForms和标准Forms 之间是一致的(如果我写了一个中间的Form类,这是不正确的).

如果您能看到一种不需要我编辑20多种形式的通用方法,请告诉我!

django django-templates django-forms

42
推荐指数
4
解决办法
2万
查看次数

如何使用DRY一个活动项目渲染菜单?

我想渲染一个像这样的结构:

<a href='/home'>Home</a>
<span class='active'>Community</span>
<a href='/about'>About</a>
Run Code Online (Sandbox Code Playgroud)

社区被选定的菜单项.我有几个模板相同选项的菜单,但我不想为每个模板创建组合:

<!-- for Home template-->
        <span class='active'>Home</span>
        <a href='/comminuty'>Community</a>
        <a href='/about'>About</a>
    ...
<!-- for Community template-->
        <a href='/home'>Home</a>
        <span class='active'>Community</span>
        <a href='/about'>About</a>
    ...
<!-- for About template-->
        <a href='/home'>Home</a>
        <a href='/community'>Community</a>
        <span class='active'>About</span>
Run Code Online (Sandbox Code Playgroud)

我们有永久的菜单项列表,因此,它可以是更有效的方法 - 只创建一个菜单的通用结构,然后使用模板的必需选项呈现菜单.

例如,它可以是允许这样做的标记.

django django-templates

42
推荐指数
3
解决办法
3万
查看次数

Django中的上下文是什么?

我是一个django初学者,所以我试图理解上下文和上下文处理器的概念.

  • 什么是背景,为什么要使用它?
  • 上下文是您在模板中使用时需要的值吗?
  • 上下文和上下文处理器是一样的吗?

我会很反应你的回应.提前致谢!

django django-templates django-context

42
推荐指数
3
解决办法
3万
查看次数

基于User-Agent更改Django模板

我做了一个Django网站,但我喝了Koolaid,我想制作一个iPhone版本.经过深思熟虑,我提出了两个选择:

  1. 制作一个完整的其他网站,例如i.xxxx.com.使用Django的站点框架将其绑定到同一个数据库中.
  2. 找一些读取用户代理的中间件,并动态更改模板目录.

不过,我真的更喜欢选项#2; 我有一些保留意见,主要是因为Django文档不鼓励动态更改设置.我找到了一个可以做我喜欢的片段.我的主要问题是让它尽可能无缝,我希望它对用户来说是自动化和透明的.

还有其他人遇到同样的问题吗?是否有人愿意分享他们如何解决制作iPhone版Django网站的问题?

更新

我使用了中间件和调整模板调用的组合.

对于中间件,我使用了minidetector.我喜欢它,因为它检测到过多的移动用户代理.我所要做的就是在我的视图中检查request.mobile.

对于模板调用调整:

 def check_mobile(request, template_name):
     if request.mobile:
         return 'mobile-%s'%template_name
     return template_name
Run Code Online (Sandbox Code Playgroud)

我使用它来查看我知道我有两个版本的任何视图.

去做:

  • 弄清楚如何在render_to_response的扩展版本中访问request.mobile,这样我就不必使用check_mobile('template_name.html')
  • 如果不存在移动版本,则使用先前的自动回退到常规模板.

python django django-templates django-middleware mobile-website

40
推荐指数
2
解决办法
2万
查看次数

如何将Django中的数组传递给模板并将其与JavaScript一起使用

我想将一个数组传递给一个模板,然后通过JavaScript使用它.

在我的views.py中,我有:

arry1 = ['Str',500,20]
return render_to_response('test.html', {'array1': arry1})
Run Code Online (Sandbox Code Playgroud)

在我的模板中:

var array1 = {{ array1 }};
Run Code Online (Sandbox Code Playgroud)

但当我访问该网站时,它输出:

var array1 = [&#39;Str&#39;,500,20];
Run Code Online (Sandbox Code Playgroud)

我需要改变什么?

javascript django django-templates

40
推荐指数
3
解决办法
4万
查看次数

如何获取Django模板中定义的所有变量?

我是Django的新手,我想知道是否有办法将所有可用的变量转储到模板以进行调试.在Python中我可能会使用类似于locals()默认模板引擎的东西吗?

注意:假设我出于此问题的目的无法访问该视图.

django django-templates

40
推荐指数
4
解决办法
2万
查看次数

使用django模板向后循环

我有一个对象列表,我试图显示它们(所以我使用的是django {% for %} {% endfor %})但是,我需要一次一个地向后遍历每个对象,而不是向前.我查看了https://docs.djangoproject.com/en/dev/ref/templates/builtins/#for但我无法弄清楚如何使用它来向后循环.我想知道如何做到这一点,如果它是可能的.下面是我目前如何实现它(迭代前进)的一个简单示例:

...
{% for i in scheduling_info %}
    <pre>{{ i.log }}</pre>
{% endfor %}
...
Run Code Online (Sandbox Code Playgroud)

谢谢!

python django django-templates

40
推荐指数
2
解决办法
2万
查看次数

如何在django模板中呈现有序字典?

我正在尝试学习django模板,但这并不容易.
我有一些views.py包含要用模板渲染的字典.字典由键值对组成,其中键是唯一名称,值是与这些名称关联的一些值.我用以下方式渲染字典:

return render_to_response('results.html', {'data': results_dict})
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,在我的模板中,我需要使用亲戚值以字母(或ASCIIbetical)顺序显示名称.
实际上在我的模板中我有:

<table>
{% for key, value in data.items %}
    <tr>
        <td> {{ key }}: </td> <td> {{ value }} </td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

如何以排序方式呈现数据?非常感谢.

python django django-templates

39
推荐指数
4
解决办法
4万
查看次数

如何检查是否定义了django模板变量?

我有一个django模板,可以从很多视图中使用.该模板有一个消息块,用于通知用户应该引起他们注意的任何事情.是否发送消息取决于视图.某些视图可能会向message模板发送变量,而其他视图可能不会.

view_1:
    message = "This is an important message"
    render_to_response("my_template.html", 
                       {'message':message, 'foo':foo, 'bar':bar},
                       context_instance = RequestContext(request))

view_2:
    message = "This is an important message"
    render_to_response("my_template.html", 
                       {'foo':foo, 'bar':bar},
                       context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

在模板中,我检查message变量并包括如下块:

base_template.html:
    ....
    {% block main_body %}
         {% block messages %}
         {% endblock %}
         {% block content %}
         {% endblock %}
    {% endblock %}
    ....

 my_template.html:
     {% extends base_template.html %}
     ....
     {% if message %}
          {% block messages %}
              <div class='imp_msg'>{{ message }} </div>
          {% endblock …
Run Code Online (Sandbox Code Playgroud)

django django-templates

39
推荐指数
3
解决办法
5万
查看次数