表单字段未显示Django

时间:2014-03-15 21:13:02

标签: django django-forms

我还在学习Django。我一直在看各种教程,但我正在努力与django框架上的表单。 问题是我无法在base.html页面上显示电子邮件的表单字段。它基本上是一种订阅形式。我还是django的新手。这就是我到目前为止所做的。

models.py

from django.db import models
class SubscribeModel(models.Model):
    email = models.CharField(max_length=100)

forms.py

from django import forms
from models import SubscribeModel

class SubscribeForm(forms.ModelForm):

    class Meta:
        model=SubscribeModel

views.py

def loadform(request):
    form = SubscribeForm()
    return render_to_response('base.html', {'form': form},context_instance=RequestContext(request))

base.html文件

<html>
 ...
 <form action="" method="post">{% csrf_token %}
{{ form.as_p }}
   <input type="submit" value="Subscribe"></ul>
 </form>
 ...
</html>

urls.py

urlpatterns = patterns('',
url(r'^$', 'chsite.blog.views.index'),
url(r'^$', 'chsite.blog.views.loadform'),
url(r'^admin/', include(admin.site.urls)),
)

2 个答案:

答案 0 :(得分:1)

一旦你编辑了这个问题,我就可以看到两个url(---)对同一个url有影响。因此Django将加载第一个。这意味着您永远不会加载loadform视图。所以尝试删除该行:

url(r'^$', 'chsite.blog.views.index'),

或编辑loadform的实际元组,例如:

url(r'^suscribe/$', 'chsite.blog.views.loadform'),

然后转到您的浏览器127.0.0.1:8000/suscribe/ url。

答案 1 :(得分:1)

您必须定义不同的网址格式,因为前两个是相同的。 URL处理在首次点击时停止,在您的情况下使用索引视图。