我试图将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
谁能告诉我我错了什么?
我正在遍历表单的字段,对于某些字段,我想要稍微不同的布局,需要更改HTML.
要准确地做到这一点,我只需要知道小部件类型.它的类名或类似的东西.在标准的python中,这很容易!field.field.widget.__class__.__name__
不幸的是,您不允许访问模板中的下划线变量.大!
您可以测试,field.field.widget.input_type但这仅适用于文本/密码<input ../>类型.我需要更多的解决方案.
对我而言,无论它看起来多么困难,最适合在模板级别执行此操作.我已经将处理字段HTML的代码外包给了一个单独的模板,该模板包含在字段循环中.这意味着它在ModelForms和标准Forms 之间是一致的(如果我写了一个中间的Form类,这是不正确的).
如果您能看到一种不需要我编辑20多种形式的通用方法,请告诉我!
我想渲染一个像这样的结构:
<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网站,但我喝了Koolaid,我想制作一个iPhone版本.经过深思熟虑,我提出了两个选择:
不过,我真的更喜欢选项#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)
我使用它来查看我知道我有两个版本的任何视图.
去做:
python django django-templates django-middleware mobile-website
我想将一个数组传递给一个模板,然后通过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 = ['Str',500,20];
Run Code Online (Sandbox Code Playgroud)
我需要改变什么?
我是Django的新手,我想知道是否有办法将所有可用的变量转储到模板以进行调试.在Python中我可能会使用类似于locals()默认模板引擎的东西吗?
注意:假设我出于此问题的目的无法访问该视图.
我有一个对象列表,我试图显示它们(所以我使用的是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)
谢谢!
我正在尝试学习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)
如何以排序方式呈现数据?非常感谢.
我有一个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)