Как вставить 2 разных формы на одной и той же странице в Django -- django поле с участием django-forms пол Связанный проблема

How insert 2 different forms on the same page in Django


5
vote

проблема

русский

Я должен вставить 2 формы на той же странице:

1) регистрационная форма

2) Форма входа

.

Так что, если я использую это в просмотру .py:

 <код> $(document).bind('mousemove',function(e){          $("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);  });  0  

Я получаю ошибку, отправив одну из двух форм.

Как я могу различить 2 формы, представленные в представлениях?

Английский оригинал

I have to insert 2 forms in the same page:

1) Registration form

2) Login form

.

So if I use this in the views.py:

    if request.method == 'POST':          form = registrationForm(request.POST)          if form.is_valid():               form.save()                 return render_to_response('template.html', {     'form': form, }) 

I will get error by submitting one of two forms.

How can I distinguish the 2 forms submitting in the views ?

</div
     
 
 

Список ответов

7
 
vote

Вы также можете поделать это,

 <код> jQuery(function($) {     var currentMousePos = { x: -1, y: -1 };     $(document).mousemove(function(event) {         currentMousePos.x = event.pageX;         currentMousePos.y = event.pageY;     });      // ELSEWHERE, your code that needs to know the mouse position without an event     if (currentMousePos.x < 10) {         // ....     } }); 8  

код

 <код> jQuery(function($) {     var currentMousePos = { x: -1, y: -1 };     $(document).mousemove(function(event) {         currentMousePos.x = event.pageX;         currentMousePos.y = event.pageY;     });      // ELSEWHERE, your code that needs to know the mouse position without an event     if (currentMousePos.x < 10) {         // ....     } }); 9  
 

You can also do like this,

 <form method='POST'>     {{form1.as_p}}     <button type="submit" name="btnform1">Save Changes</button>     </form>     <form method='POST'>     {{form2.as_p}}     <button type="submit" name="btnform2">Save Changes</button>     </form> 

CODE

if request.method=='POST' and 'btnform1' in request.POST:     do something... if request.method=='POST' and 'btnform2' in request.POST:     do something... 
</div
 
 
 
 
3
 
vote
<Р> Вы можете представить две формы на одной странице ... но действия, что каждая форма вызовов (то есть функция просмотра, который будет обрабатывать каждый вид), вероятно, следует быть разными. Таким образом, вы не должны пытаться различать формы.

e.g. На странице:

 <код> <form id="login_form" action="{% url app.views.login %}" method="post">     ...form fields...  </form>  <form id="registration_form" action="{% url app.views.registration %}" method="post">     ...form fields...  </form>   
<Р> Итак, в views.py, вы будете иметь логин () функцию просмотра и регистрации () функцию просмотра, который будет обрабатывать каждый из этих форм.
 

You can submit two forms on the same page... but the action that each form calls (i.e. the view function that will process each form) should probably be different. That way, you won't have to try and distinguish the forms.

e.g. On your page:

<form id="login_form" action="{% url app.views.login %}" method="post">     ...form fields...  </form>  <form id="registration_form" action="{% url app.views.registration %}" method="post">     ...form fields...  </form> 

And so, in views.py, you'll have a login() view function and a registration() view function that will handle each of those forms.

</div
 
 
3
 
vote
 <код>  <form action="Page where u want to post the data" method="post">     <input name="edit" type="submit" value="Edit Client">     <input name="delete" type="submit" value="Delete Client">  </form>   
<Р> просто дать разные названия кнопок.
 <код> if request.method == "POST" and 'edit' in request.POST:  / Do / if request.method == "POST" and 'delete' in request.POST:  /Do /   
 
 <form action="Page where u want to post the data" method="post">     <input name="edit" type="submit" value="Edit Client">     <input name="delete" type="submit" value="Delete Client">  </form> 

just Give different names to the buttons.

if request.method == "POST" and 'edit' in request.POST:  / Do / if request.method == "POST" and 'delete' in request.POST:  /Do / 
</div
 
 
2
 
vote
<Р> Вы можете оставить обе формы в одном URL тоже: <Р> формы в шаблоне следующим образом:
 <код> <form method="post" action="/profile/"> {% for field in firstform %}     <div class="mb10">     <div class="fl desc">{{ field.label_tag }}<br />     <div class="fr">{{ field }}{{ field.errors }}</div>     <div class="clear"></div>     </div>   {% endfor %} {% for field in secondform %}     <div class="mb10">     <div class="fl desc">{{ field.label_tag }}<br /><</div>     <div class="fr">{{ field }}{{ field.errors }}</div>     <div class="clear"></div>     </div>   {% endfor %} <a class="submit fr" href="#""><img src="{{ MEDIA_URL }}img/save.png" /></a> </form>   
<Р> и просто обращаться с ними, как это в виду:
 <код> if request.method == 'POST':     firstform = ProfileForm(request.POST, request.FILES, instance=profile)     secondform = UserForm(request.POST, instance=request.user)   
<Р>, а затем делать вещи с firstform & амп; secondform .
 

You can post both forms to same url too:

forms in template are like this:

<form method="post" action="/profile/"> {% for field in firstform %}     <div class="mb10">     <div class="fl desc">{{ field.label_tag }}<br />     <div class="fr">{{ field }}{{ field.errors }}</div>     <div class="clear"></div>     </div>   {% endfor %} {% for field in secondform %}     <div class="mb10">     <div class="fl desc">{{ field.label_tag }}<br /><</div>     <div class="fr">{{ field }}{{ field.errors }}</div>     <div class="clear"></div>     </div>   {% endfor %} <a class="submit fr" href="#""><img src="{{ MEDIA_URL }}img/save.png" /></a> </form> 

and just handle them like this in view:

if request.method == 'POST':     firstform = ProfileForm(request.POST, request.FILES, instance=profile)     secondform = UserForm(request.POST, instance=request.user) 

and then do stuff with firstform&secondform.

</div
 
 
2
 
vote
<Р> Вы можете иметь обе формы отправки сообщения для того же URL и есть скрытый вход с множеством имен для входа или регистрации и сортировки, что на сервере
 

You can have both forms posting to the same URL and have a hidden input with name set to login or registration and sort that out on the server

</div
 
 
1
 
vote
<Р> Вы можете сделать Регистрация и вход POST для различных URL-адресов, так что каждый POST будет обрабатываться соответствующим видом
 

You can do the Registration and Login POST to different urls so each POST will be handled by corresponding view

</div
 
 

Связанный проблема

0  Приложение Django - импортирующие проблемы модуля  ( Django app importing module issues ) 
Я нахожусь на Django 1.6 с Python 2.7, получая проблему с импортом некоторых пользовательских модулей. На моем просмотру. Псит файл, у меня есть <код> import ...

1  Джанго пользователь Войти через апи [дубликат]  ( Django user login through api ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже имеет ответ здесь : ...

0  Python / django - Начало Apache с mod_wsgi  ( Python django starting apache with mod wsgi ) 
пытается запустить mod_wsgi. Получение опорной ошибки связанной с FMOD. <код> [root@host]# mod_wsgi-express start-server wsgi.py --port=80 > --user www...

1  Могу ли я использовать цифровые пространства для океана для загруженных пользователей файлов django?  ( Can i use digital ocean spaces for user uploaded files with django ) 
Я хотел бы иметь центральное место для изображений, JavaScript, CSS и т. Д. Для включения горизонтального масштабирования в моем приложении Django. На данны...

16  Получите проверку параметров на vickets.modelviewset  ( Get params validation on viewsets modelviewset ) 
Я новичок в Django и создания API отдыха, используя <код> Review0 . Я написал какой-то код, чтобы проверить, поставил ли пользователь несколько параметров или...

0  Объедините несколько столов для ответа JSON в Django Read Framework  ( Combine multiple tables for a json response in django rest framework ) 
Я использую Django Read Framework для моего serializers . Мне нужно создать веб-сервис, который сочетает в себе поля в трех таблицах и дает JSON. У меня ес...

8  GUNICORN.Socket: не удалось с результатом результата «Service-Start-Limit-Hit»  ( Gunicorn socket failed with result service start limit hit ) 
Я развернул приложение Django, и оно не удалось, потому что по какой-то причине файл gunicorn.socket не был создан, хотя перед добавлением nginx он отлично ра...

0  Шаблон Django зацикливается через список  ( Django template looping through a list ) 
Я пытаюсь закрутить простую список, как <код> {% for x in y %} <p>My name is {{ x }}</p> {% endfor %} Мои вирины такие как это <код> def listloop(requ...

0  Запуск сценария Python со значениями от Views.py в Django  ( Running a python script with values from views py in django ) 
Я пытаюсь передать значение, которое я получил в просмотру .py файл в django в другой сценарий python, который я написал, но я понятия не имею, как это сделат...

1  Django на AWS EC2 - Мне нужно что-нибудь установленное на моем местном компьютере?  ( Django on aws ec2 do i need anything installed on my local computer ) 
Мой хост ОС - это Windows 8. Я загрузил VMware Player и сделал все мои джанго, используя Lubuntu через VMware Player. Теперь мой проект Django завершен, и я х...

36  Django - user.doesnotexist не существует?  ( Django user doesnotexist does not exist ) 
Я пытаюсь получить Джанго. Я использую Pydev на Eclipse. Я написал простую страницу регистрации, которую я не могу добраться до работы. Затмение жалуется на т...

0  Как обрабатывать кнопку Нажмите в проекте Django?  ( How to handle a button click in django project ) 
У меня есть форма, как показано ниже: <код> <form action="{% url clicked %}" method="get"> <input type="submit" value="Button" name="btn"/> </form> ...

0  Запрос доступа от класса Inherit (View)  ( Access request from inherit class view ) 
Как я могу предъявить запрос на var, если я не реализую методы Get / Post из класса Inherit (View)? <код> class Base(View): def __init__(self): ...

5  Django-HVAD - Как я должен установить значение переведенного поля при сохранении экземпляра модели?  ( Django hvad how should i set a translated field value while saving a model ins ) 
<Сильный> Фон: Я использую <Код> django-hvad и иметь <код> TranslatableModel . В своем TranslatedFields У меня есть <код> slug атрибут, который должен бы...

0  Настройки LDAP от Nginx в Django  ( Ldap settings from nginx to django ) 
Как передавать настройки LDAP из Nginx в django-auth-ldap? Настройки Nginx: <код> ldap_server YADRO { url ldap://testserver.com:389/dc=cor...

Связанный проблема

0  Приложение Django - импортирующие проблемы модуля 
1  Джанго пользователь Войти через апи [дубликат] 
0  Python / django - Начало Apache с mod_wsgi 
1  Могу ли я использовать цифровые пространства для океана для загруженных пользователей файлов django? 
16  Получите проверку параметров на vickets.modelviewset 
0  Объедините несколько столов для ответа JSON в Django Read Framework 
8  GUNICORN.Socket: не удалось с результатом результата «Service-Start-Limit-Hit» 
0  Шаблон Django зацикливается через список 
0  Запуск сценария Python со значениями от Views.py в Django 
1  Django на AWS EC2 - Мне нужно что-нибудь установленное на моем местном компьютере? 
36  Django - user.doesnotexist не существует? 
0  Как обрабатывать кнопку Нажмите в проекте Django? 
0  Запрос доступа от класса Inherit (View) 
5  Django-HVAD - Как я должен установить значение переведенного поля при сохранении экземпляра модели? 
0  Настройки LDAP от Nginx в Django