【发布时间】:2017-02-22 16:26:19
【问题描述】:
我在 django 表单中遇到了一些问题。问题是即使我把这个代码“attrs = {'class':'form-control'}”但是当去站点和检查元素时,html不包含这个类
它显示了这个...
<input id="id_name" maxlength="100" name="name" type="text" required="">
如您所见,它没有呈现 'class':'form-control'
我可能做错了什么请告诉我如何解决这个问题???
forms.py、view.py和.html文件代码如下
forms.py
from django import forms
from .models import ContactUs
class ContactUsForm(forms.ModelForm):
name = forms.CharField(required=True, widget=forms.TextInput(attrs={'class': 'form-control'})),
email = forms.EmailField(required=True),
subject = forms.CharField(required=True),
message = forms.CharField(
required=True,
widget=forms.Textarea(attrs={'class': 'form-control'})
),
class Meta:
model = ContactUs
fields = ['name', 'email', 'subject', 'message']
contact.html
<div class="container main-container">
<div class="row">
<div class="col-xs-offset-1 col-xs-10 col-md-offset-1 col-md-5">
<h5>Contact Us</h5>
<form method="POST" action="/contact/">{% csrf_token %}
{% for fields in form %}
<div class="form-group">
<label for="{{ fields.id_for_label }}">{{ fields.label }}</label>
{{ fields }}
</div>
{% endfor %}
<input class="btn btn-primary" type="submit" value="Submit">
</form>
</div>
</div>
views.py
from .forms import ContactUsForm
from django.shortcuts import render, redirect
from django.contrib import messages
from django.http import HttpResponseRedirect
def Contact(request):
if request.method == 'POST':
form = ContactUsForm(request.POST)
if form.is_valid():
model_instance = form.save()
messages.add_message(request, messages.SUCCESS, 'YOUR FORM HAS BEEN SUBMITTED')
return redirect('/contact/')
else:
return HttpResponseRedirect('/admin/')
else:
return render(request, 'core/contact.html', {'form': ContactUsForm()})
【问题讨论】:
标签: django django-forms django-templates