您是否需要Django模板括号来传递表单中的字符串值?

时间:2014-02-08 02:09:11

标签: python django django-forms django-templates django-views

我在Django HTML模板中有以下表格。

我发现了两种不同的语法,它们都可以将字符串数据从我的表单传递到链接的视图函数。

请查看第一个无线电输入,然后将其与第二个无线电输入进行比较,以查看不同的语法(有括号,有一个没有)。

<form action="{% url 'shipment:createAccount' 1  %}" method="post">

{% csrf_token %}

<input type="radio" name="question_1" value="Option1">Option 1<br>
<input type="radio" name="question_1" value="{{ 'Option2'  }}">Option 2<br>

<input type="submit" value="Confirm" />
</form>

我发现我的代码兼顾两种方式。我想知道它们之间是否存在功能差异,如果是,那么哪一个更好。

1 个答案:

答案 0 :(得分:1)

实际上,第二种方式有点矫枉过正:

<input type="radio" name="question_1" value="{{ 'Option2'  }}">Option 2<br>

您告诉模板引擎解析'Option2' python语句。由于'Option2' python语句产生一个字符串,模板引擎将用以下代码替换它:

<input type="radio" name="question_1" value="Option2">Option 2<br>

这与你的第一种方式完全相同。你是通过第二种方式创造一点开销。

在模板内部使用括号来在模板域内执行某种计算。就像访问view的变量或对象方法一样。

要回答您的问题,需要使用括号语法在模板中包含文字。您需要它们在其中输出变量值。

希望这有帮助!