我想将类型的数字设置为select标签的id。 我在浏览器中的理想html是
class FadeWidget(QWidget):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
self._heightMask = self.height()
self.animation = QPropertyAnimation(self, b"heightPercentage")
self.animation.setDuration(1000)
self.animation.setStartValue(self.height())
self.animation.setEndValue(-1)
self.animation.finished.connect(self.close)
self.isStarted = False
@pyqtProperty(int)
def heightMask(self):
return self._heightMask
@heightMask.setter
def heightPercentage(self, value):
self._heightMask = value
rect = QRect(0, 0, self.width(), self.heightMask)
self.setMask(QRegion(rect))
def closeEvent(self, event):
if not self.isStarted:
self.animation.start()
self.isStarted = True
event.ignore()
else:
QWidget.closeEvent(self, event)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = FadeWidget()
window.show()
sys.exit(app.exec_())
现在浏览中的实际html是
<select id="mainDD" data-placeholder="Choose" class="chzn-select" style="width:600px;">
<option value="0">---</option>
<option value="1">a</option>
<option value="2">b</option>
</select>
<select name="type" id="type1">
<option value="1">a1</option>
<option value="2">a2</option>
</select>
<select name="type" id="type2">
<option value="5">b1</option>
<option value="6">b2</option>
</select>
id =“type”没有每个数字,但我不知道如何使用Django的模板添加这些数字。 我在index.html中写道
<select id="mainDD" data-placeholder="Choose" class="chzn-select" style="width:600px;">
<option>---</option>
<option>a</option>
<option>b</option>
</select>
<select name="type" id="type">
<option value="0">---</option>
<option value="1">a1</option>
<option value="2">a2</option>
</select>
<select name="type" id="type">
<option value="5">---</option>
<option value="6">b1</option>
<option value="7">b2</option>
</select>
我应该写什么?我该如何解决这个问题?
答案 0 :(得分:0)
使用forloop.counter代替计数器:
{% for key, values in preprocessed %}
<select name="type" id=type{{forloop.counter}}>
{% for counter, value in values %}
<option value="{{ forloop.counter }}">{{ value }}</option>
{% endfor %}
</select>
{% endfor %}
答案 1 :(得分:0)
<form method="post" action="">
<select id="mainDD" data-placeholder="Choose" class="chzn-select" style="width:600px;">
{% for i in json_data.items.values %}
<option>{{ i }}</option>
{% endfor %}
</select>
{% for key, values in preprocessed %}
<select name="type" id=type-{{ key }}>
{% forvalue in values %}
<option value="{{ forloop.counter0 }}">{{ value }}</option>
{% endfor %}
</select>
{% endfor %}
</form>
最好使用键入类型,以便以后轻松引用它。也不需要单独的计数器变量。 Django模板标签为此提供了forloop.counter。 forloop.counter0用0开始计数器索引,forloop.counter用1开始计数器索引。希望这能清除你的怀疑。
参考 - https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#for