我非常喜欢django模板语言,但是当涉及从模板传递多个字符串到视图时,我不知道。因此,我想弄清楚使用哪种现代工具。
你建议接下来要解决这些问题,或者我还没有找到django的方法吗?
编辑:我知道查询对象。我正在寻找的是将对象传递回所有属性。
foo的简单模型:
SELECT vendor_id || '|' || vendor_name AS "vid|vname"
FROM vendors;
我通过vid|vidname
将实例传递给模板。在模板上,他们像这样处理:
此处为自动填充的文本字段:
class foo(models.Model):
name = models.CharField(max_length=75)
categories = models.ManyToManyField(Category)
def __str__(self):
return self.name
作为每个foo实例的tile:
foos = foo.objects.all()
在<form method="POST" action="/path/">
{% csrf_token %}
<input type="text" class="btn btn-default" name="foo" list="foos">
<datalist id="foos">
{% for foo in foos %}
<option value="{{ foo }}">
{% endfor %}
</datalist>
<button class="btn btn-default">send</button>
</form>
中,我将foo名称作为字符串。我想将整个实例发送回视图来处理它。只需发送<form method="POST" action="/path">
{% csrf_token %}
<ul class="wrapper">
{% for category_ in categories %}
{% for foo in foos %}
{% if category_ in foo.categories.all %}
<input name="foo" type="submit" value="{{ foo }}" class="box box_text">
{% endif %}
{% endfor %}
{% endfor %}
</ul>
</form>
即可。但我不知道如何将request.POST
放入模板而不显示在foo.id
旁边,而是在foo.id
中作为变量发送。
除了这个问题,我想建议学习这些任务的技术(JSON,Ajax,...)
答案 0 :(得分:0)
如果看不到foo
对象的实际情况,我会假设发生了以下情况:
foo
。__str__
魔术方法或__unicode__
。 如果您只想打印名称,然后只打印ID,只需专门打印这些属性,而不仅仅是foo
,如:
<option value="{{ foo.id }}">{{ foo.name }}</option>