Django:在model.py中添加的新类未在管理站点中显示

时间:2013-07-17 08:27:02

标签: django django-models django-admin

我是一个与Django一起挣扎的前端开发者。我的基础知识差不多了,但我已经在以下几点击中了墙。

我有一个在本地运行的站点,也在一台开发机器上运行。在本地我已经为已经存在的应用程序添加了一个额外的类模型,在相关的admin.py中注册它并在设置中进行了检查。在本地,新类和相关字段显示在admin中,但是当我将其全部移动到dev时,它们不会出现。该应用程序称为“发布”。

我的方法如下:

  1. 在发布>中创建了新类models.py文件:
  2. 
        class Whitepaper(models.Model):
            title = models.CharField(max_length=200)
            slug = models.SlugField(max_length=100, blank=True)
            pub_date = models.DateField('date published')
            section = models.ForeignKey('Section', related_name='whitepapers', blank=True, null=True)
            description = models.CharField(max_length=1000)
            docfile = models.FileField(upload_to="whitepapers/%Y/%m/%d", null=True, blank=True)
    
    
    1. 使用以下方式更新并迁移了南方模型:
    2. python manage.py schemamigration publish --auto

      python manage.py migrate publish
      1. 在admin.py文件中注册了该类:
      2. 
            from models import Section, Tag, Post, Whitepaper
            from django.contrib import admin
            from django import forms
        
            admin.site.register(Whitepaper)
        
        

        该应用程序列在settings.py文件中:

        
            INSTALLED_APPS = (
                ...,
                ...,
                'publish',
                ...,
        
        )

        由于这是在托管其他几个测试区域的开发服务器上运行,重新启动整个事情是不可能的,因此我一直在“触摸”.wsgi文件。

        在我的本地版本中,这得到了模型和字段显示在管理员中但在开发服务器上它们无处可见。

        我错过了什么?

        谢谢你们聪明的人。

2 个答案:

答案 0 :(得分:7)

我弄明白了这个问题。原来我用来进入管理员的登录没有超级用户权限。所以我创建了一个新的:

python manage.py createsuperuser

使用新的用户名和密码登录后,我可以看到所有新的闪亮表格!

答案 1 :(得分:0)

您确定触摸.wsgi文件确实会重启您的应用吗?

看起来没有。

确保重新启动应用。查找触摸.wsgi文件的证据可能会重新启动应用程序。

由于您未提供有关开发服务器如何运行应用程序的任何信息,我们将无法为您提供进一步的帮助。