如何通过HTML

时间:2017-07-26 11:12:48

标签: python html django django-templates

我创建了models.py,forms.py,views.py& registeration.html。 在registeration.html中,我正在直接导入django表单,例如{{reg_form.as_p}},我也可以通过以下两种方式执行此操作:{{ form.as_table }}{{ form.as_ul }}。我想要的是对要显示的字段进行真正的控制。意思是说某些字段可能是表格,有些可能是列表等具有特定的css。 我在html中尝试访问该字段的内容如下所述:

id={{form.id_FullName}} name={{form.FullName}}

在models.py中我有:

FullName = models.CharField(max_length = 100)

上面的方法没有用,我想用某种方法来访问HTML中的django字段。

2 个答案:

答案 0 :(得分:1)

添加name并传递modelname, 像这样改变,

<input type="text" id="id_FullName" value=""  name="FullName" />.

并提交表格。

示例,让我们说注册表单:

<强> forms.py,

class SignUpForm(forms.ModelForm):
    email = forms.CharField(label='email', max_length=100)
    password = forms.CharField(label='password', max_length=100)

    def __init__(self, *args, **kargs):
        super(SignUpForm, self).__init__(*args, **kargs)

    class Meta:
        model = User
        fields = '__all__'

<强> views.py,

def signup(request):
    form = SignUpForm(request.POST or None)
    if request.method == 'POST':
        form = SignUpForm(request.POST or None)
        if not form.is_valid():
            print form.errors
            return render(request, 'signup.html', {'form': form})
        else:
            email = form.cleaned_data.get("email")
            password = form.cleaned_data.get("password")
            new_user = User.objects.create_user(email=email,
                                                password=password,
                                                     )
            new_user.is_active = True
            new_user.save()
            return redirect('login')
    else:
        return render(request, 'signup.html', {'form': form})

<强> urls.py

url(r'^signup', views.signup, name='signup'),

最后在你的模板中,即 signup.html

<form action="." method="post"> {% csrf_token %}     

              <div class="form-group">
                  <input type="text" class="form-control" name="email" id="inputUsernameEmail" placeholder="Email">
              </div>
              <div class="form-group">
                  <input type="password" name="password" class="form-control" id="inputPassword" placeholder="Password">
              </div>

              <input type="submit" name="Sign up" value="Sign up" id="Sign_up" class="button_drop outline">
          </form>    

答案 1 :(得分:0)

您可以手动渲染字段。[Documentation]

以下是从主题字段的文档中获取的示例

<div class="fieldWrapper">
    {{ form.subject.errors }}
    {{ form.subject.label_tag }}
    {{ form.subject }}
</div>