处理逻辑:后端需要给前端传一个布尔值,在后端中先进行判断,如果正在编辑的新闻的news_id与新闻分类的id正好相等,则布尔值为True,否则为False,前端在遍历下拉框的分类时,根据后端传过来的布尔值进行判断,如果为True则显示哪个分类。
后端代码:
category_list = []
for items in category:
category_dict = items.to_dict()
# 如果新闻模型的分类对应上category里面的分类,就给to_dict加一个键值对,即复选框的默认值
category_dict['is_selected'] = False
if news_model.category_id == items.id:
category_dict['is_selected'] = True
category_list.append(category_dict)
前端代码:
<div class="form_group">
<label>新闻分类:</label>
<select class="sel_opt" name="category_id">
{% for category in data.categories %}
<option value="{{ category.id }}" {% if category.is_selected %}selected{% endif %}>{{ category.name }}</option>
{% endfor %}
</select>
</div>