How can I access the form submit button value in Django?

前端 未结 3 1547
春和景丽
春和景丽 2020-12-09 09:19

I have a Django project that, on one page, has multiple forms (in different tags) that can be submitted to have different effects. In all cases I want the user to be redire

3条回答
  •  余生分开走
    2020-12-09 09:22

    I'm little bit late but here is the solution

    Problem you are facing

    Your are trying to get Button name but getting the initial value of button that is not correct way.

    HTML Code

    
    

    Python Code/View.py

    if request.POST['submit']=='Add':
    #code to deal with the "Add" form
    

    Solution

    First find button name in request.POST dictionary if exist then get their value.

    HTML Code

    Add name of your button and their value.

    
    

    Views.py

    You can find the button name in request.POST dictionary

    if request.POST['submit'] == 'add_object':
    # Both ways to deal with it
    if 'add_object' in request.POST:
    

    Extra Stuff

    We have two forms on a page.

    First form have 2 buttons with same name subjects but different values fav_HTML and fav_CSS.

    Second form also have 2 buttons with same name tutorials but different values Tutorials_HTML and Tutorials_CSS.

     
    Form 1
    Form 2

    views.py

    We can handle different forms, check which button is clicked then getting their values and do something.

    if 'subject' in request.POST: # this section handle subject form (1st Form)
    #now we can check which button is clicked 
    # Form 1 is submitted , button value is subject now getting their value 
    
        if 'interview_HTML' == request.POST.get('subject'):
           pass 
           # do something with interview_HTML button is clicked
        elif 'interview_CSS' == request.POST.get('subject'):
            pass
            # do something with interview_CSS button is clicked
    
    elif 'tutorials' in request.POST: #this section handle tutorials form (2nd form)
    
        #now we can check which button is clicked 
        # Form 1 is submitted , button name is tutorials now getting their value 
    
        if 'Tutorials_HTML' == request.POST.get('tutorials'):
            pass 
            # do something with fav_HTML button is clicked
        elif 'Tutorials_CSS' == request.POST.get('tutorials'):
            pass
            # do something with fav_CSS button is clicked
    

提交回复
热议问题