2012-12-10 69 views
1

我正在开发一个项目,我们需要添加一个表单来添加一个事件。它列出了名称,日期,时间和地址。我让表单工作,但是当我添加基础时,表单不会显示在加载基础的网页上。我认为这与我的HTML文件有关。这是我的html文件。Django表单不会显示

{% extends "base.html" %} 
{% block heading %}My Events{% endblock %} 
{% block content3 %} 
    </h1><b><font size="5">Save Event</b></h1></font> 
    <form method="POST" action=".">{% csrf_token %} 
     {{form.as_p}} 
     <input type ="submit" value="Add Event"/> 
    </form> 

{% endblock %} 

观点:

def add_event(request): 
    user = request.user 
    events = user.event_set.all() 
    if request.method == "POST": 
     form = EventForm(request.POST) 
     if form.is_valid(): 
      event = Event.objects.create(
      eventname = form.cleaned_data['eventname'], 
      eventdate = form.cleaned_data['eventdate'], 
      eventtime = form.cleaned_data['eventtime'], 
      address = form.cleaned_data['address'], 
      user = request.user 
      ) 
      return HttpResponseRedirect('/') 
    else: 
     form = EventForm() 
    variables = RequestContext(request, { 
     'form': form 
    }) 
    return render_to_response('add_event.html',variables) 

基地:

HTML (base.html) 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html> 
<head> 
    <title>DelMarVa Happenings | {% block title %}{% endblock %}</title> 
    <link rel="stylesheet" href="/site_media/style.css" type="text/css" /> 
</head> 
<body> 
    <div id="wrapper"> 
     <div id="masthead"> 
      <div id="logo"> 
       <img src="/site_media/Delmarva.gif" width="100px" height="80px" /> 
      </div> 
      <h1>DelMarVa Happenings</h1> 
      <br /> 
      <h4>A listing of events in and around Delaware, Maryland, and Virginia</h4> 
     </div> 
     <div id="nav"> 
      {% if user.is_authenticated %} 
       <h3>welcome, {{ user.username }}</h3> 
      {% else %} 
       <h3>welcome, guest</h3> 
      {% endif %} 
       <ul> 
        <li><a href="/">home<a/></li> 
       {% if user.is_authenticated %} 
        <li><a href="/event/">add event</a></li> 
        <li><a href="/user/">my events</a></li> 
        <li><a href="/account/">my account</a></li> 
        <li><a href="/logout/">logout</a></li> 
       {% else %} 
        <li><a href="/login/">login</a></li> 
        <li><a href="/register/">register</a></li> 
       {% endif %} 
       </ul> 
     </div> 
     <div id="ads"> 
      <img src="/site_media/ad.jpg" /> 
     </div> 
     <div id="main"> 
      <h2>{% block head %}{% endblock %}</h2> 
      {% block content %}{% endblock %} 
     </div> 
    </div> 

</body> 
</html> 
+2

base.html是否可以与其他模板一起使用?你能把它张贴在这里,让我们看看它吗? – Talvalin

+0

我把它运行起来了 – user1892956

+0

你的模板块的名称不匹配正确吗? – Talvalin

回答

0

确保form.as_p和括号之间留出空间。因此,{{ form.as_p }}

+0

当我这样做时,没有任何变化 – user1892956

+0

另外,第一个应该为

。你的意思是你有什么表格可以工作?发布您的观看文件或您声明的位置。 – ono

+0

啊你看错了你的问题。所以当你添加{{%extends“base.html”%}它消失了? – ono

1

您的base.html没有{% block content3 %} - 重命名基本块名称或扩展模板以相互匹配。