2009-11-07 4 views
9

Я сейчас перехожу с моего сервера разработки на сервер веб-сервера Apache.Приложение Django не отображается в интерфейсе администратора

Я попытался сделать следующее, просто скопировав его, и я могу войти в панель администратора, но он не отображается.

Мой admin.py в моем приложении выглядит следующим образом:

import models 
    from django.contrib import admin 

    admin.site.register(models.Organization) 

А вот мой models.py

from django.db import models 

class Organization(models.Model): 
    name = models.CharField(max_length=100) 
    website = models.URLField() 
    azon_code = models.CharField(max_length=50) 
    gooe_code = models.CharField(max_length=50) 
    cj_code = models.CharField(max_length=50) 

Я resyned базы данных и перезапустить Apache, а также полагая, что мощь сделай что-нибудь.

+2

Вы не забыли добавить его в свои настройки.py, не так ли? – lemonad

+0

Да, да. Спасибо огромное! –

+2

Ха-ха, я должен был добавить это как ответ вместо комментария! :) – lemonad

ответ

10

Вы не должны импортировать как:

from mysite.myapp.models import Organization 
admin.site.register(Organization) 
+0

Я пробовал это, и он все еще не работал для меня. Позвольте мне еще раз попробовать! –

+0

Я просто переключился на вашу модель и все равно не пошел. Я думаю, что ваша модель лучше всего подходит. Он выглядит намного чище, и я видел его на других сайтах. Спасибо за попытку! –

+0

как @lemonad предложил, вы добавили его в свой settings.py? –

3

Для тех, кто посещает этот вопрос, ответ выше не работает непосредственно в текущей версии Django (1.7.7).

Ответ на поставленный выше вопрос становится:

from myapp.models import Organization 
admin.site.register(Organization) 
3

Для меня это было очень глупо причина. У меня есть разрешения. У пользователя Admin не было разрешения на доступ к моделям.

Я дал разрешение администратору. Это сработало.

+0

Я рекомендую заложить глаза на ваши разрешения, если у вас есть вариант этой проблемы! Почти каждый поток упоминает разрешения, но я был вполне уверен, что у моего пользователя были права суперпользователя, и я был очень неправ! (После слишком долгого устранения неполадок я увидел, что сайт-пакеты/django/contrib/admin/sites.py говорили, что у меня не было прав на просмотр модов моего зарегистрированного приложения. После двойного проверки разрешений я также не сделал своего администратора пользователь суперпользователя, и я не предоставил требуемые разрешения.) – sage

0

Другая возможная причина не показывать приложение на странице администратора - у Apache нет разрешений. Иногда мы создаем приложение с разрешением, которое Apache не может получить к нему. Если у Apache нет доступа, он не будет отображаться. Для пользователей linux требуется изменить разрешения приложений.

sudo chown -R www-data:www-data app_name 

Эта команда даст согласия автора в Apache, чтобы получить доступ к папке приложения рекурсивно.