У меня проблемы с моим веб-приложением python/django. Я пытаюсь включить и отключить что-то в области администрирования, чтобы в интерфейсе либо показать, либо нет.onclick auto executing in djnago template
Как только ссылка нажата, я хочу, чтобы функция, называемая updatevisibilitymain, выполнялась с передачей в main.id. Проблема заключается в том, что он автоматически срабатывает при загрузке страницы, и если вы нажмете одну ссылку на все три огня и обновите каждый основной элемент соответственно в соответствии с main.id. Я только хочу, чтобы одна ссылка срабатывала одновременно, а не автоматически запускалась при загрузке страницы.
Моя проблема - это моя ссылка.
<a href="" id="{{main.id}}" onclick="{% updatevisiblitymain main.id %}" class="toggler"><i class="{% isvisible main.is_visible %}" aria-hidden="true"></i></a>
Когда я загружаю страницу, вызывается ее авто вызываемая и отключает и/или позволяет загружать каждую страницу. Кроме того, у меня есть еще две ссылки, похожие на них, созданные в цикле for. И если я нажму на любой из трех, все они будут выполняться и либо отключить, либо включить объект. У кого-нибудь есть идеи о том, как это исправить?
Я пробовал помещать # внутри области href, а затем функция onclick не работает при нажатии.
Я ценю всю помощь.
EDIT: updatevisibilitymain
@register.simple_tag
def updatevisiblitymain(cid):
""" Updates the visibility of the main category """
print cid
main = MainCategory.objects.get(pk=cid)
visible = main.is_visible
if visible:
main.is_visible = False
main.save()
logger.debug('Main Category %s has been marked false.' % main.name)
else:
main.is_visible = True
main.save()
logger.debug('Main Category %s has been marked true.' % main.name)
шаблона Джанго
<div class="row">
{% if sub_cats %}
{% for sub in sub_cats %}
{% if sub.main_category_id == main_id %}
<div class="pull-left pad-10">
{% for main in main_cats %}
{% if main.id == main_id %}
<a href="" id="{{main.id}}" onclick="{% updatevisiblitymain main.id %}" class="toggler"><i class="{% isvisible main.is_visible %}" aria-hidden="true"></i></a>
<span class="form-section">{{ main.name }}</span>
<a href="" class="gutter"><i class="{% helptext main.help_text %}" aria-hidden="true"></i></a>
<a href="/MFA/DeleteItem/maincat/{{main.id}}" class="gutter"><i class="fa fa-lg fa-trash-o red" aria-hidden="true"></i></a>
{% endif %}
{% endfor %}
</div>
{% endif %}
{% endfor %}
{% endif %}
</div>
Я не уверен, что понимаю, что вы пытаетесь сделать. Можете ли вы отредактировать вопрос, чтобы обеспечить более ясность в отношении желаемого результата? –
Надеюсь, это поможет. Я также добавляю его здесь. Как только ссылка нажата, я хочу, чтобы функция, называемая updatevisibilitymain, выполнялась с передачей в main.id. Проблема в том, что он автоматически срабатывает при загрузке страницы вместе с тем, если вы нажмете на одну ссылку все три огня и обновите каждый основной элемент соответственно в соответствии с main.id – crzyone9584
Можете ли вы разместить код, в котором определяется 'updatevisiblitymain', и, возможно, остальная часть вашего Шаблон Django? –