我在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>
我发现我的代码兼顾两种方式。我想知道它们之间是否存在功能差异,如果是,那么哪一个更好。
答案 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
的变量或对象方法一样。
要回答您的问题,不需要使用括号语法在模板中包含文字。您需要它们在其中输出变量值。
希望这有帮助!