Приложение 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 *

Другие вопросы по тегам