My initial recommendation would be to read up on the Forms section of the 
Django manual. 

A lot of the logic you've written here is abstracted away in Django's built-in 
methods. 

Also, I'd replace that messy HTML in views.py with a call to a separate 
partial. 

In fact, that partial would probably being in a form from your forms.py. 

<!--
Sincerely,
Thomas Murphy
646.957.6115
-->

> On Dec 26, 2013, at 1:10 PM, Arun Kaushik <[email protected]> wrote:
> 
> I am a newbie. I am learning Django by developing a web application. There is 
> use-case where I got stuck. 
> there are 3 buttons on a html page
> Personal info
> Education
> Work Experience
> It is desired when the user click any of the button, respective html form 
> shall be displayed on right-half of web-page.
> 
> What I have tried is this, onclick function of buttons:
>     function myfun()
> {
>       var xmlhttp;
> if (window.XMLHttpRequest)
>   {
>   xmlhttp=new XMLHttpRequest();
>   }
> else
>   {
>   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
>   }
> xmlhttp.onreadystatechange=function()
>   {
>   if (xmlhttp.readyState==4 && xmlhttp.status==200)
>     {
>     document.getElementById("rightpan").innerHTML=xmlhttp.responseText;
>     }
>   }
> xmlhttp.open("GET","{% url "polls:demo_test" %}",true);
> xmlhttp.send();
> }
> </script>
> 
> in views.py, demo test does this:
> 
> def demo_test(request):
>       return HttpResponse("<form name='reg' onsubmit='return 
> ValidateForm(this)' action='{% url 'polls:signupexec' %}'  
> method='post'><tr><td><div>Firstname:</div></td><td><input type='text' 
> name='first_name' /></td></tr><tr><td><div>Lastname:</div></td><td><input 
> type='text' name='last_name' /></td></tr><tr><td><input name='submit' 
> type='submit' value='Submit' /></td></tr></form>")
> 
> First of all, it works fine except that it does not embed CSRF_TOKEN in the 
> form, which is important.
> Secondly, I feel that this approach is against the philosophy of django.
> Please give some suggestions on how can I do this. Loading HTML Forms 
> dynamically through AJAX.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-users/48e438cc-d82d-41ed-ab95-aad10fbe1403%40googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/A9A0B704-DB33-4E99-A42E-62611ACB6F0A%40gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to