Как запустить функцию python с помощью кнопки начальной загрузки Django

#python #django #bootstrap-4

#python #django #bootstrap-4

Вопрос:

Я пытался понять, как работает Django с кнопкой начальной загрузки. Я использовал один из шаблонов Django, в index.html файл, там есть определенная кнопка.

  <button type="submit" name="toggle" value="1" class="btn btn-primary btn-sm btn-round">Toggle</button>
 

Я определил функцию в view.py .

 @login_required(login_url="/login/")
def mytoggletest(request):
    print("my toogle test script")
    print(request)
 

и это мой urls.py

 urlpatterns = [

    # The home page
    path('', views.index, name='home'),
    
    # my test
    path('/', views.mytoggletest, name='toggle'),
   
    # Matches any html file
    re_path(r'^.*.*', views.pages, name='pages'),
    
]
 

Теперь, когда я нажимаю на кнопку переключения на странице html, ничего не происходит.
Как я могу запускать свои функции в файлах pythong, нажав кнопку на странице в django.

Комментарии:

1. Ваша кнопка находится в форме? Кнопка отправки без формы ничего не сделает…

Ответ №1:

вам необходимо определить post-запрос

 @login_required(login_url="/login/")
def mytoggletest(request):
   print("my toogle test script")
   print(request)
   if request.form['toggle']=="1":
        return redirect(url_for("pages"))
 

Ответ №2:

вы должны указать свою кнопку herf следующим образом:

 <a type="button" class="btn btn-primary btn-sm btn-round" href="{% url '***:***' %}" name="toggle" value="1"> Toggle </a>
 

если вы используете from , вам необходимо добавить URL-адрес в действие from.