2012-12-10 6 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

아, 질문을 잘못 읽었습니다. 그래서 {{% % "base.html"%} 확장자를 추가했을 때 사라졌습니다. – ono

1

base.html에는 {% block content3 %}이 없으며 블록 이름의 이름을 기본 이름으로 변경하거나 확장 템플릿을 서로 일치시킬 수 있습니다.

관련 문제