2011-08-01 54 views
2

注:應用程序(或模型)在Django管理沒有顯示出來

  • 的Django 1.3
  • 是我的實驗性應用的名字。
  • 一直在學習Python & Django一週。

我只是試圖讓我的應用程序顯示在管理區,但它不會工作。我已經在這個網站的其他地方閱讀過其他問題/答案,但沒有一個能夠幫助我解決這個問題。我猜問題是我如何導入模型,但它不看我錯了......

EXP/settings.py的相關章節:

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'thingy', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    # 'django.contrib.admindocs', 
) 

EXP /啄/ admin.py

from thingy.models import Daily 
from django.contrib import admin 

class Daily(admin.ModelAdmin): 
    fields = ['user', 'hours_as_sec'] 

admin.site.register(Daily) 

EXP /啄/ models.py

from django.db import models 
from django.contrib.auth.models import User 

# Create your models here. 

class Daily(models.Model): 
    user=models.ForeignKey(User, unique=True) 
    day = models.DateField() 
    hours_as_sec = models.PositiveIntegerField() 
    notes = models.TextField() 

class Monthly(models.Model): 
    user=models.ForeignKey(User, unique=True) 
    month = models.DateField() 
    hours_as_sec = models.PositiveIntegerField() 
    notes = models.TextField() 

class WorkedWith(models.Model): 
    user=models.ForeignKey(User, unique=True) 
    day = models.DateField() 
    hours_as_sec = models.PositiveIntegerField() 

class UserProfile(models.Model): 
    user = models.ForeignKey(User, unique=True) 
    url = models.URLField("Website", blank=True) 
    company = models.CharField(max_length=50, blank=True) 

User.profile = property(lambda u: UserProfile.objects.get_or_create(user=u)[0]) 

我很無能。有任何想法嗎?我得到這個工作in the official tutorial,但似乎無法讓它在任何自制的應用程序工作,所以我知道我做錯了什麼,但我不知道。

回答

4

在你的admin.py你應該改變你註冊模型的方式。 從

class Daily(admin.ModelAdmin): 
    fields = ['user', 'hours_as_sec'] 

更改類名

class DailyAdmin(admin.ModelAdmin): 
    fields = ['user', 'hours_as_sec'] 

並註冊如下:

admin.site.register(Daily,DailyAdmin) 
+2

+1這將是很好的說明(爲他人閱讀本)表示,沒有按教程不要指定'ModelAdmin'子類開始,因此'admin.site.register(Model)'將起作用。 –

+0

沒錯,如果您需要自定義您的班級在管理網站上顯示的方式,則只需指定ModelAdmin類,如下所示:https://docs.djangoproject.com/en/dev/intro/tutorial02 /#customize-the-admin-form – kirbuchi

+0

改變它,清除我的緩存,註銷並返回...但它仍然無法工作。 – Forrest

相關問題