我對我的python/django網絡應用程序有點麻煩。我試圖在管理區域啓用和禁用某些內容,以便在前端顯示或不顯示。onclick在djnago模板中自動執行
一旦鏈接被點擊,我希望名爲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>
當我加載頁面的onclick其自動調用和禁用和或啓用每一頁加載。最重要的是,我有兩個更多的鏈接,因爲它們是在for循環中創建的。如果我點擊三者中的任何一個,它們都將執行並禁用或啓用該對象。任何人有任何想法如何解決這個問題?
我試過把#放在href區域內,然後單擊時onclick函數不起作用。
我很感謝所有的幫助。
編輯: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)
Django的模板
<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模板? –