Приложение Django не отображается в интерфейсе администратора
В настоящее время я перехожу с сервера разработки на сервер веб-производства Apache.
Я попытался сделать следующее, просто скопировав его, и я могу войти в админ-панель, но он не отображается.
Мой 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)
Я ресинировал базу данных и перезапустил apache, а также подумал, что это может что-то сделать
6 ответов
Разве вы не должны импортировать как:
from mysite.myapp.models import Organization
admin.site.register(Organization)
Для меня это была очень глупая причина. Я включил разрешения. У администратора нет прав доступа к моделям.
Я дал разрешение администратору пользователя. Это сработало.
Для тех, кто посещает этот вопрос, приведенный выше ответ не работает напрямую в текущей версии Django (1.7.7).
Ответом на поставленный выше вопрос становится:
from myapp.models import Organization
admin.site.register(Organization)
В вашем admin.py
файл внутри вашего main( first and default )
приложение вашего проекта сделайте это
в моем случае у меня есть 3 приложения, как показано ниже
cityapp,stateapp,countryapp
поэтому в моем файле admin.py я добавлю следующую строку
from django.contrib import admin
from stateapp.models import State
from countryapp.models import Country
from cityapp.models import City
admin.site.register(Country)
admin.site.register(State)
admin.site.register(City)
это работает в моем случае см.
Другая возможная причина не показывать приложение на странице администратора - у Apache нет прав. Иногда мы создаем приложение с разрешением, что Apache не может получить к нему доступ. Если у Apache нет доступа, он не будет отображаться. Для пользователей Linux требуется изменить разрешения приложения.
sudo chown -R www-data:www-data app_name
Эта команда даст Apache разрешение на рекурсивный доступ к папке приложения.
Ваш импорт в admin.py неверен, я думаю, попробуйте этот способ
из импорта .models *