Я только что создал форму в первый раз и задаю несколько вопросов относительно процесса и того, куда идут данные.Где хранятся данные, созданные из моей формы?
Вот мои модели, виды, формы, URL-адреса и файлы шаблонов;
модель от models.py:
class Member(models.Model):
member_id = models.SlugField(max_length=10)
name = models.CharField(max_length=200)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
mobile = models.SlugField(max_length=20)
income = models.CharField(max_length=200, choices=INCOME_CHOICES)
education = models.CharField(max_length=200, choices=EDUCATION_CHOICES)
home_district = models.CharField(max_length=200, choices=DISTRICT_CHOICES)
family_spending = models.CharField(max_length=200, choices=FAMILY_SPENDING_CHOICES)
children_spending = models.CharField(max_length=200, choices=CHILDREN_SPENDING_CHOICES)
birth_date = models.DateTimeField('Birthday', blank=True)
comments = models.CharField(max_length=300, blank=True)
def __str__(self):
return self.name
views.py:
def create_a_member_form(request):
if request.method == 'POST':
form = MemberForm(request.POST)
if form is valid():
member_form = form.save()
return HttpResponseRedirect('/complete/')
else:
form = MemberForm()
return render(request, 'member_form.html', {'form': form})
forms.py:
from .models import Member
from django import forms
class MemberForm(forms.ModelForm):
class Meta:
model = Member
fields = '__all__'
urls.py:
urlpatterns = [
url(r'^member_form/$', views.create_a_member_form, name='member_form')
]
Шаблон (member_form.html):
{% load staticfiles %}
<form action="/admin/" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
Я хочу знать:
В шаблоне, что делает/admin/в
<form action="/admin/" method="post">
представляют? Это где страница перенаправляется после того, как я нажимаю «Отправить», правильно?Указывает ли номер
name='member_form'
в urls.py имя HTML-шаблона, к которому будет иметь URL-адрес, в данном случае member_form.html?Где хранятся данные, созданные из формы? Я пробовал создавать объекты-члены с помощью формы, но новые объекты не отображаются на моем сайте-администраторе в разделе «Члены» (в то время как существующие). Как я могу убедиться, что объекты, созданные из этой формы, отображаются на моем сайте Admin в разделе «Участники»?
Спасибо.
Благодарим за ответ. Что вы имеете в виду, мой взгляд на сообщение/admin/вместо/member_form /? – korakorakora
Я не знаю, как это непонятно. Как вы сами сказали в пункте 1, атрибут action представляет собой место, в которое форма отправляет данные. Вам нужно сделать так, чтобы форма отправила данные в ожидаемое представление, а не какой-либо другой случайный URL. –
То, что я подразумевал под «перенаправлением», не было в терминах того, куда поступали данные, но где страница обновляется после «Отправить».Но я понимаю, что вы имеете в виду сейчас. – korakorakora