2012-07-14 131 views
0

我正在與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

回答

0

您必須導入您要在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