2011-08-01 27 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

相关问题