无法让ModelForm显示在模板中 - Django

时间:2015-04-22 14:40:51

标签: django django-forms

我一直试图让这个表格显示大约8小时现在没有运气。我已经阅读了本网站上的每个问题以及其他问题并没有解决我的问题。

models.py

class Quote(models.Model):
    first_name = models.CharField(verbose_name=('First Name'), max_length=35, null=True,blank=True)
    last_name = models.CharField(verbose_name=_('Last Name'), max_length=35,null=True,blank=True)

forms.py

class QuoteForm(forms.ModelForm):
    class Meta:
        model = Quote
        fields = '__all__'

views.py

def get_quote(request):
    if request.method == 'POST':
        form = QuoteForm(request.POST or None)
        if form.is_valid():
            #form.save()
            # process the data in form.cleaned_data as required
            # ...
            # redirect to a new URL:
            return HttpResponseRedirect('/testing/thank-you/')
    else:
        form = QuoteForm()
    return render(request, 'request-for-quote.html', {'form': form})

urls.py

urlpatterns = patterns ('', 
    url(r'^testing/request-for-quote/','lsr.views.get_quote',
        name='get_quote'),)

请求换quote.html

{% extends "base.html" %}
{% load cms_tags staticfiles sekizai_tags menu_tags %}
{% load i18n %}
{% block content %}
<form method="POST" action="">
{% csrf_token %}
{{ form }}
<button type="submit">{% trans "Request Quote" %}</button></form>
{% endblock content %}

当我使用shell命令显示表单时,它会向我显示html并在控制台中呈现。只是不会在html模板中显示。我究竟做错了什么? (编辑)我忘了提到如果我将动作更改为&#34; get_quote&#34;然后点击按钮,它将重定向到上面的感谢页面。只是不会显示表单字段。

shell命令

>>>from lsr.forms import QuoteForm
>>>from lsr.models import Quote
>>>form = QuoteForm()
>>>form.as_p()

非常感谢帮助解决这个问题。是的我是Django&amp; amp;的新手。蟒。

更新: 我相信我的views.py甚至没有被调用。我唯一的其他2个defs用于404和500视图,所以我在我的设置中将调试关闭,并得到了一个错误的请求而不是我的自定义404页面。所以现在我正在研究如何让Django-CMS和Django表单一起工作。我将尝试this并告诉您它是否有效。

0 个答案:

没有答案