Tuesday, 5 February 2019

Django Get request from template and pass value to views function and display result in template

def get(request):

        my_form1 = PoolModification()
        my_form2 = OnboardingDevice()

        if request.method == 'POST' and 'PoolModification' in request.POST:
        #Post request to handle form upload
            my_form1 = PoolModification(request.POST) #Bind data from request.POST to poolModification form
            if my_form1.is_valid():

                finalString1 = '" -d "'.join("{!s}={!s}".format(key,val) for (key,val) in my_form1.cleaned_data.items())
                finalString = '"{}"'.format(finalString1)
                print (finalString)
                response = 'curl -d ' + finalString + ' -i -X POST http://admin:02bab31633994212cd@192.168.10.12:8080/job/pool-modification/buildWithParameters -H "Jenkins-Crumb:90eed10ddeafaf555"'

                os.system(response)

                time.sleep(60)
                output = 'curl http://admin:02bab3161694212cd@192.168.10.12:8080/job/pool-modification/lastBuild/consoleText'

                jobout = subprocess.check_output(output, shell=True)

                print (jobout)


                return render(request, "mail.html" , { 'form1' :jobout })
                #time.sleep(50)
                #def mails(jobout):
                #    return render(request, "mails.html" , {'form3' : jobout})
                #return HttpResponseRedirect(request, "createpost.html" , {'form1' : my_form1})

        elif request.method == 'POST' and 'OnboardingDevice' in request.POST:
        #Post request to handle form upload
            my_form2 = OnboardingDevice(request.POST) #Bind data from request.POST to poolModification form
            if my_form2.is_valid():

                finalString1 = '" -d "'.join("{!s}={!s}".format(key,val) for (key,val) in my_form2.cleaned_data.items())
                finalString = '"{}"'.format(finalString1)
                print (finalString)
                response = 'curl -d ' + finalString + ' -i -X POST http://admin:02bab3163391694212cd@192.168.10.12:8080/job/OnboardingDevice/buildWithParameters -H "Jenkins-Crumb:90eed1049263ddeafaf555"'

                os.system(response)
                time.sleep(50)
                output = 'curl http://admin:02bab3161694212cd@192.168.10.12:8080/job/OnboardingDevice/lastBuild/consoleText'
                jobout = os.system(output)
                print (jobout)
                return render(request, "mail.html" , {'form2' : my_form2})

            else:
                print(my_form.errors)

        return render(request, "ChangeAutomation.html" , { 'form1' :my_form1, 'form2' :my_form2 })

No comments:

Post a Comment

Git

1 git add ↳ It lets you add changes from the working directory into the staging area 2 git commit ↳ It lets you save a snapshot of currently...