Odi*_*aeb 53 django django-admin
我已经为我自己的基金停止了几个django应用程序和东西,到目前为止一切都运行良好.
现在我刚刚创建了新项目(django 1.2.1)并且从第一时刻就遇到了麻烦.
我创建了新的应用程序 - 游戏和新模型游戏.我创建了admin.py并将相关内容放入其中.跑到syncdb然后去检查管理员.模型没有出现在那里.
我继续检查并重新检查并阅读以前类似的线程:已 注册的模型未显示在管理员 Django App中未显示在管理界面中
但就我所知,他们也不帮助我.也许其他人可以为我指出这一点.
游戏应用中的models.py:
# -*- coding: utf-8 -*-
from django.db import models
class Game(models.Model):
type = models.IntegerField(blank=False, null=False, default=1)
teamone = models.CharField(max_length=100, blank=False, null=False)
teamtwo = models.CharField(max_length=100, blank=False, null=False)
gametime = models.DateTimeField(blank=False, null=False)
Run Code Online (Sandbox Code Playgroud)
游戏应用中的admin.py:
# -*- coding: utf-8 -*-
from jalka.game.models import Game
from django.contrib import admin
class GameAdmin(admin.ModelAdmin):
list_display = ['type', 'teamone', 'teamtwo', 'gametime']
admin.site.register(Game, GameAdmin)
Run Code Online (Sandbox Code Playgroud)
project settings.py:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
ROOT_URLCONF = 'jalka.urls'
TEMPLATE_DIRS = (
"/home/projects/jalka/templates/"
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'game',
)
Run Code Online (Sandbox Code Playgroud)
urls.py:
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Example:
# (r'^jalka/', include('jalka.foo.urls')),
(r'^admin/', include(admin.site.urls)),
)
Run Code Online (Sandbox Code Playgroud)
艾伦.
jes*_*v18 70
报告的问题可能是因为您跳过了注册管理站点的模型.这可以完成,admin.py
在您的应用程序下创建一个文件,并在那里注册模型:
from django.contrib import admin
from .models import MyModel
admin.site.register(MyModel)
Run Code Online (Sandbox Code Playgroud)
小智 19
嗯...尝试在settings.py中更改你的应用程序:
从:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'game',
....
Run Code Online (Sandbox Code Playgroud)
至:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'YOUR_PROJECT.game',# OR 'YOUR_PROJECT.Game'
Run Code Online (Sandbox Code Playgroud)
Pav*_*eev 16
与 Django 2.0 有同样的问题。
以下代码不起作用:
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from users import models
admin.register(models.User, UserAdmin)
Run Code Online (Sandbox Code Playgroud)
原来这条线
admin.register(models.User, UserAdmin)
Run Code Online (Sandbox Code Playgroud)
本来应该
admin.site.register(models.User, UserAdmin)
Run Code Online (Sandbox Code Playgroud)
由于我没有收到任何警告,因此也想在这里指出这一点。
我知道这已经得到了回答和接受,但我想分享我对这个问题的解决方案,也许它会帮助别人.
我INSTALLED_APPS
看起来像这样:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'core', # <---- this is my custom app
# Uncomment the next line to enable the admin:
'django.contrib.admin',
'south',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)
Run Code Online (Sandbox Code Playgroud)
看,我把我的应用程序放在Django的管理员应用程序之前,显然它按顺序加载它们.我只是将我的应用程序移到了管理员的正下方,它开始显示:)
我遇到过同样的问题。一切都做对了。但我没有查看模型的权限。
只需授予所需的权限(查看/添加/编辑/等),然后再次检查。
使用管理面板授予权限:
请参考此通过管理面板添加/更改权限
替代方案:使用代码参考官方 Django 文档
这可能非常罕见,但我今天遇到了一个问题,我创建的 admin.py 文件的权限已损坏,因此 django 无法读取它。我删除了该文件并重新创建它,成功了。
希望这可以拯救某人,如果他们遇到我的问题。
对于Django 1.10,帮助我最后通过(admin.ModelAdmin)的以下方式注册了Model
from django.contrib import admin
from .models import YourModel
admin.register(YourModel)(admin.ModelAdmin)
Run Code Online (Sandbox Code Playgroud)
我也很难注册我的模型(尝试了上面的所有建议),直到我做了一件非常简单的事情。我将 admin.py 从目录移至项目目录 - 刷新管理屏幕并将其移回,瞧,进入模型应用程序目录 - 它们都立即出现。我正在使用PyCharm,所以不确定这是否导致了一些问题。
我的设置正是 Django 手册所说的 -
模型.py
class xxx(models.Model):
....
def __str__(self): # __str__ for Python 3, __unicode__ for Python 2
return self.name
Run Code Online (Sandbox Code Playgroud)
管理员.py
from .models import xxx
admin.site.register(xxx)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
44066 次 |
最近记录: |