模型元素未定义

模型元素未定义

问题描述:

我正在与Django合作,构建一个Web应用程序。我有很多东西在工作。一般结构是我有一个用户绑定到一个元素列表。当我点击这些元素时,我收到一个404页面未找到的错误。模型元素未定义

下面有一些models.py

class Event(models.Model): 
    #user that created the event 

    #event title 
    title = models.CharField(max_length=200) 

    #time created 
    created = models.DateField('Date Created',auto_now_add=True) 

    #description of event from user 
    description = models.CharField(max_length=400) 

    #address of event if existant 
    address = models.CharField(max_length=50) 

class User(models.Model): 

    attending = models.ManyToManyField('Event', related_name='User_attending') 
    hosting = models.ForeignKey('Event', related_name='User_hosting') 

    gender = models.IntegerField(max_length=1) 
    password = models.CharField(max_length=100) 
    email = models.CharField(max_length=100) 
    age = models.IntegerField() 
    fName = models.CharField(max_length=25) 
    lName = models.CharField(max_length=25) 
    id = models.AutoField(primary_key=True) 

从views.py,当我试着访问attacthed我的“事件”对象中的HTML页面,我得到一个404错误,因为我的代码犯规识别“事件“

from list.models import * 

def event(request, id): 
    #e = Event() 
    #code.interact(local = locals()) 
    try: 
     e = Event.objects.get(User_hosting=id) 
    except Event.DoesNotExist: 
     raise Http404 
    if e.user_id != request.user.id: 
     raise Http404 
    #code.interact(local = locals()) 
    return render_to_response('event/event.html', {'event':e}) 

当我使用的外壳,e = Event.objects.get(User_hosting=id)它说,‘事件没有定义’。

对此的任何帮助将是伟大的。先谢谢了。

+1

什么是试图访问模板时,你所得到的确切的错误? – tamara 2012-07-15 00:19:19

+0

你会得到一个404或者如果事件对象未找到,或者如果有一个用户ID不匹配(在这种情况下401或403响应可能更适合) – 2012-07-15 00:48:16

您必须导入您要在shell中使用的任何模块或类。试试这个(其中appname是你的应用程序的名称。

from appname.models import Event 
+0

我忘了在我的views.py中包含“from list.models import *”我试图明确包含Event,但没有这样的运气 – itcropper 2012-07-14 23:54:00

+0

当然,但是当你使用shell时,你仍然需要导入那里。 – 2012-07-15 00:47:15