나는 내 발견, 여기에보고 된 내용은 켄더에게 도움이되었을 것입니다. 그 이유는 무엇보다도 두 곳의 관리 사이트뿐만 아니라 각각 하나씩 두 개의 데이터베이스에 대해서도 말하고 있었기 때문입니다. 그게 내 상황이야. 필자는 내 앱 중 하나 인 새로운 앱이 자체 데이터베이스와 관리 페이지를 갖기를 원한다는 생각이 듭니다.
하지만 Bernhard Vallant의 AdminSite 서브 클래 싱 방식에 문제가있어 보았지만 정통적이고 본질적으로 올바른 것으로 보입니다. 나는 그 문제를 해결했다. 여기
내가 완전히 필요하다고 발견 베른하르트 Vallant의 코드에 모드 : 그것은 아니므로
from django.contrib.admin.sites import AdminSite
class MyAdminSite(AdminSite):
pass
#or overwrite some methods for different functionality
myadmin = MyAdminSite(name='anything')
예, 정말 이름은 한 (선택 = '아무것도'뜻 '관리 ').그리고 나는 그것으로 안팎을 토글했다. 그리고 아무것도 아닌 관리자 이름 지정없이 매번 실패한다.
내가 얻은 증상은 두 번째 데이터베이스를 추가하고 myadmin을 만든 다음 myadmin.register (My_ModelA)로 모델을 등록하고 두 개의 관리 응용 프로그램 페이지를 살펴 보았습니다. 두 번째 데이터베이스와 myadmin 및 My_ModelA 모델을 사용하는 새 응용 프로그램은 괜찮아 보이지만 이전 관리자 페이지에는 모델에 대한 죽은 링크가 표시되어 있었고 앱의 비간 링크 (오래된 링크를 클릭하여 오래된 데이터베이스) 페이지가 존재하지 않는다는 사실에 404 코드가 있습니다. 또한
, 나는 그것이 중요한 모르겠어요,하지만 난 베른 Vallant이 프로젝트 urlconf에서했던 것과 다른 무언가를했다 :
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include('mynewapp.urls')),
url(r'^someword/admin/', include(admin.site.urls)),
)
OK "someword는"거기 --- 무관 응용 프로그램이나 프로젝트의 이름이 아니라 최종 사용자와 관련된 외모. 하지만 관련된 관리자는 내 오래된 앱과 오래된 데이터베이스를위한 것입니다. 자동 검색() 포함에 유의하십시오. Bernhard Vallant가 urlconf 프로젝트를 구성 할 때 Bernhard Vallant가 myadmin 가져 오기와 함께 기본 설정을 참조하고 기본 관리자를 참조 할 때 Bernhard Vallant가 사용하는 링크와 관련된 문서에 약간의 어색함이 있습니다.
그리고 mynewapp의 urlconf에 대한
내가 가진 :
from django.conf.urls import patterns, url, include
from myproject.admin import myadmin
urlpatterns = patterns('',
url(r'/', include(myadmin.urls))
)
urlpatterns += patterns('mynewapp.views',"... url() stuff for mynewapp's views"),
)
'관리자'이외의 다른 내부적으로 AdminSite 인스턴스를 이름의 완전한 필요성, 나는 재즈까지 시간을 왔을 때 것을 추가해야에도 불구하고 mynewapp의 admin.py 파일에 admin.ModelAdmin 하위 클래스가 있으면 admin.ModelAdmin을 부모 클래스로 사용해야합니다. myadmin은 결국 AdminSite의 하위 클래스 인스턴스입니다. 그래서 나는 그것이 admin이 아닌 admin.site와 동등하다는 것을 모았습니다.
admin은 소문자 인 admin이 인스턴스처럼 보이고 인스턴스를 서브 클래 싱하는 것에 익숙하지 않기 때문에 나처럼 NOOB를 매우 혼란스럽게합니다. 그래서 나는 그것이 아니라고 생각합니다.
에 대한 빠른 예입니다. 로그인하면 "아무 것도 수정할 수있는 권한이 없습니다."라는 메시지가 나타납니다. 메시지 ... – kender
사용하는 사용자는 is_staff 및 is_superuser 필드가 true로 설정되어 있어야합니다. 그런 다음 다른 관리자와 액세스 권한을 구별 한 후 http://docs.djangoproject.com/ko/1.2/topics/auth/#permissions –
확인하십시오. 알기 만하면됩니다. 하지만 나는 2 개의 관리 사이트에 대해 서로 다른 템플릿 세트를 갖고있는 것 같지 않습니다. 템플릿의 'admin /'디렉토리를 조회 할 수 있습니다. 'backoffice'인수를 사용하여 하나를 만들 수도 있습니다.이 인수는 'backoffice' '... – kender