python - 从我的表单创建的数据去了哪里?

标签 python html django forms

我刚刚第一次创建表单,对流程和数据的去向有一些疑问。

这是我的模型、 View 、表单、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>

我想知道:

  • 模板中<form action="/admin/" method="post">中的/admin/代表什么代表?这是我点击“提交”后页面重定向到的地方,对吗?

  • name='member_form' 是吗? urls.py 中的 代表 URL 将匹配的 HTML 模板的名称,在本例中为 member_form.html?

  • 从表单创建的数据去了哪里?我尝试使用表单创建成员对象,但新对象不会显示在我的管理网站的成员下(而现有对象会显示)。如何确保从此表单创建的对象确实显示在我的管理站点的“成员”下?

谢谢。

最佳答案

  1. 是的。
  2. 不,如果您想生成指向该 URL 的链接,则这是您在 {% url %} 标记中使用的名称。模板由 View 本身决定(在 render(request, 'member_form.html',...) 中)。
  3. 它不会去任何地方,因为您的 View 将发布到/admin/而不是/member_form/;/admin/是管理站点的索引,该站点没有代码来实际接受您的表单数据。

请注意,1 是基本的 HTML,2 和 3 是本教程中介绍的基本 Django 概念;你应该去读一下。

关于python - 从我的表单创建的数据去了哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33912774/

相关文章:

python - 使用 python 遍历文件时忽略错误引发

javascript - 使用选项元素显示两个 div

python - 为什么 Django 1.7 从 syncdb 迁移到 migrate?

javascript - 如何在 javascript 中显示全屏弹出窗口?

django - 在 Django Admin 中自定义一对一关系下拉列表

django - 如何使用 django-allauth 提供者信息填充用户个人资料?

python - BertTokenizer - 当编码和解码序列时出现额外的空格

python - 强调文本编辑器?

Python语法: unpacking multiple variables from function return value in ternary expression gives unexpected result

jquery - 固定列宽