Django Admin中未显示模型

3

我看到很多关于这个问题的帖子,尝试了大部分答案提到的方法,但都没有成功。

我有一个名为photos的应用程序,其中models.py看起来像这样:

from django.db import models

class Photo(models.Model):
    name = models.CharField(max_length=200)
    location = models.CharField(max_length=200)
    description = models.CharField(max_length=200)
    def __unicode__(self):
            return self.name

应用程序已安装:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'photos',
)

像这样的Admin.py:

from photos.models import Photo
from django.contrib import admin

class PhotoAdmin(admin.ModelAdmin):
    pass

admin.site.register(Photo, PhotoAdmin)

urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns('',
# Examples:
# url(r'^$', 'garthreckers.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),

url(r'^admin/', include(admin.site.urls)),
)

我已经在settings.py和wsgi.py上运行了touch命令。我已经运行了runserver、syncdb和migrate命令。

如果有帮助的话,这里是我的目录结构:

garthreckers
|-garthreckers
  |-__init__.py
  |-__init__.pyc
  |-settings.py
  |-settings.pyc
  |-urls.py
  |-wsgi.py
  |-wsgi.pyc
|-photos
  |-migrations
  |-__init__.py
  |-__init__.pyc
  |-admin.py
  |-admin.pyc
  |-models.py
  |-models.pyc
  |-tests.py
  |-views.py
|-manage.py

编辑:虚拟主机配置文件

WSGIPythonPath /home/ubuntu/xxxxxxx.com/garthreckers

<VirtualHost *:80>

ServerName www.xxxxxxx.com
ServerAlias xxxxxxx.com

WSGIScriptAlias / /home/ubuntu/xxxxxxx.com/garthreckers/garthreckers/wsgi.py

<Directory /home/ubuntu/xxxxxxx.com/garthreckers/garthreckers>
    <Files wsgi.py>
        Order deny,allow
        Require all granted
    </Files> 
</Directory> 
<Directory /home/ubuntu/xxxxxxx.com/garthreckers/static>
    Require all granted
</Directory> 
<Directory /home/ubuntu/xxxxxxx.com/garthreckers/media>
    Require all granted
</Directory>
</VirtualHost>

你使用什么http服务器,以及如何为该服务器提供Django应用程序服务(使用wsgi、gunicorn或uwsgi)? - GwynBleidD
Apache和mod_wsgi。我在上面包含了conf文件。 - user3196479
出于好奇,当您执行python manage.py runserver时,是否会出现这个问题?(我还建议删除所有pyc文件) - Foon
runserver 不能解决它。我删除了 pyc 文件,再次运行 runserver,但仍然没有用。 - user3196479
其实我还没有本地安装。刚开始学Python/Django,决定利用AWS的免费12个月。因此没有设置Git,因为这不是生产或重要的网站,只是为了好玩 :) 我已经重新加载了Apache,但没有重启。回家后再试试。尝试了check和validate两种方法,但都没有效果。问题出在admin.py文件上。 - user3196479
显示剩余2条评论
2个回答

0

你的代码没问题。我建立了一个新的虚拟环境,安装了全新的Django,逐字复制了你的代码,管理员界面如预期一样出现了。我无法猜测具体哪里出了问题,但是好消息是你的代码没问题。重新开始很快,也许值得一试。删除所有的.pyc文件,暂时不用担心Apache。一旦你知道项目设置正常工作,那么你就可以考虑下一步的Apache托管。这是我运行的命令:

django-admin startproject garthreckers
django-admin startapp photos
# copied your code into appropriate files
./manage.py makemigrations
./manage.py migrate
./manage.py createsuperuser
./manage.py runserver

小提示:从Django 1.7开始,您不需要使用admin.autodiscover()文档)。


0

检查登录到管理员面板的用户是否有管理此模型的权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接