2010-01-04 36 views
5

Tôi đã đọc tất cả các chủ đề khác nhưng tôi vẫn không hiểu tại sao ứng dụng của tôi không hiển thị trong quản trị Django. Mọi thứ khác hoạt động tốt.Ứng dụng sẽ không hiển thị trong quản trị Django

Ứng dụng của tôi là ở settings.py

Tôi có admin.autodiscover trong tập tin urls.py gốc của tôi

from django.conf.urls.defaults import * 
from django.conf import settings 

from django.views.generic.simple import direct_to_template 

from django.contrib import admin 

admin.autodiscover() 



urlpatterns = patterns('', 
url(r'^$', direct_to_template, { 
    "template": "homepage.html", 
}, name="home"), 

url(r'^admin/invite_user/$', 'signup_codes.views.admin_invite_user', name="admin_invite_user"), 
url(r'^account/signup/$', "signup_codes.views.signup", name="acct_signup"), 

(r'^account/', include('account.urls')), 
(r'^profiles/', include('basic_profiles.urls')), 
(r'^notices/', include('notification.urls')), 
(r'^announcements/', include('announcements.urls')), 
(r'^tagging_utils/', include('tagging_utils.urls')), 
(r'^attachments/', include('attachments.urls')), 
(r'^comments/', include('threadedcomments.urls')), 
# 
(r'^wayfinder/', include('wayfinder.urls')), 
(r'^site/', include('jsite.urls')), 
(r'^kiosk/', include('kiosk.urls')), 
(r'^navigator/', include('navigator.urls')), 
(r'^location/', include('location.urls')), 
(r'^event/', include('event.urls')), 
#(r'^news_reader/', include('news_reader.urls')), 
#(r'^weather_reader/', include('weather_reader.urls')), 

(r'^admin/(.*)', admin.site.root), 
) 

if settings.SERVE_MEDIA: 
urlpatterns += patterns('', 
    (r'^site_media/', include('staticfiles.urls')), 
) 

Tất cả các ứng dụng của tôi có một tập tin admin.py chứa một cái gì đó giống như

from django.contrib import admin 
from event.models import Event 

class EventAdmin(admin.ModelAdmin): 
    list_display = (
       'short_name', 
       'long_name', 
       'locations', 
       'categories', 
       'description', 
       'phone', 
       'email', 
       'url_source', 
       'url_location', 
       'external_ref', 
       'show_event' 
      ) 

admin.site.register(Event, EventAdmin) 

Và tôi đã khởi động lại máy chủ hơn và hơn ;-)

Tôi đang xây dựng trên đỉnh của Pinax, nhưng từ đọc sách của tôi, nó không nên thay đổi bất cứ điều gì. Bất kỳ đầu mối nào có thể sai?

+0

Lý do thông thường là settings.py không đề cập đến các ứng dụng trong phần INSTALLED_APPS, như Code Duck nói. Bạn đã thiết lập chính xác chưa? – hughdbrown

+0

Bạn đã thực hiện 'syncdb' chưa? –

+1

đã tìm ra sự cố. một trong những quản trị viên của tôi đã đề cập đến các biểu mẫu mới không được chấp nhận, tôi đã không sửa chữa nó ngay lập tức. Có vẻ như lần thứ hai (trang làm mới) quản trị viên được gọi, lỗi đã bị xóa và quản trị viên đã hiển thị nhưng không có tất cả các mô hình đang theo dõi lỗi có chứa lỗi. vì nó ở trên cùng của ứng dụng tôi đã thêm, không có ứng dụng nào được hiển thị ngoại trừ ứng dụng Pinax nằm ở đầu danh sách. không bao giờ bỏ sót lỗi ;-) Tôi sẽ cấp mã số vịt nhờ tất cả những ai đã giúp ;-) – philgo20

Trả lời

8

Bạn có ứng dụng của mình trong phần INSTALLED_APPS trong settings.py không? Đảm bảo ứng dụng của bạn được liệt kê ở đó. phần tôi đọc

INSTALLED_APPS = (
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.admin', 
'django.contrib.sites', 
'squick.items', 
'cowsite.search', 
'cowsite.posts', 

)

ví dụ. Tôi khá chắc chắn về bảo mật, chúng sẽ không hiển thị trong quản trị trừ khi chúng nằm trong các ứng dụng được cài đặt. Tôi nghĩ rằng tôi đã có vấn đề tương tự, nơi tôi không thể có được bò để hiển thị trong admin.

The Django docs nói về trang admin: "Theo mặc định, nó sẽ hiển thị tất cả các ứng dụng trong INSTALLED_APPS đã được đăng ký với các ứng dụng admin, trong thứ tự chữ cái"

+0

các ứng dụng có trong danh sách installed_apps. Tôi không nên rằng toàn bộ dự án làm việc, tất cả các mô hình từ các ứng dụng của tôi được tạo ra một cách chính xác và hoạt động trong các khung nhìn khác nhau và 10 mẫu, nhưng tôi không thấy chúng trong admin ... – philgo20

+0

thêm 'admin.site.register (ThisModel) 'vào tệp admin.py của bạn trong thư mục ứng dụng của bạn. – user3526

5

Bạn đang đăng nhập vào quản trị với tư cách là người siêu người dùng? Nếu không, nó có thể là một vấn đề quyền.

+0

Có, tôi có thể đăng nhập vào quản trị viên, nhưng tôi không thấy các ứng dụng tôi đã đã thêm .. – philgo20

+1

Không phải ai cũng có thể đăng nhập vào quản trị đều có quyền is_superuser. Kiểm tra lại xem bạn có làm được không. –

+0

Có, đăng nhập với các đặc quyền super_user – philgo20

0

Không chắc chắn phiên bản của django bạn đang sử dụng nhưng tài liệu hiện tại đề xuất bao gồm url quản trị.

('^admin/', include(admin.site.urls)) 
+0

Tôi nghĩ rằng đến từ pinax. Vấn đề không phải là acessing admin, mà tôi có thể. Nó thực sự có acess để mô hình ứng dụng của tôi. Cảm ơn – philgo20

-1

Bạn không trả lời câu hỏi của Antony. Bạn đang đăng nhập với tư cách là người siêu người dùng hay ít nhất với người dùng có quyền thêm/chỉnh sửa cho các ứng dụng? Nếu không, bạn sẽ không thấy chúng.

+0

Tôi và tôi thấy tất cả các mẫu và ứng dụng khác ... – philgo20

6

Bằng sự trùng hợp ngẫu nhiên, tôi có cùng một vấn đề vào sáng nay. Tóm lại, đây là những gì làm việc cho tôi (xem tài liệu tham khảo để biết chi tiết):

Trong thư mục cấp cao nhất của MyApp (tức là cùng thư mục với models.py, v.v.) Tôi đã thêm một mô-đun python admin.py, chứa:

from models import ThisModel, ThatModel 
from django.contrib import admin 

admin.site.register(ThisModel) 
admin.site.register(ThatModel) 

Sau đó, trong thư mục mysite, tôi đã thực hiện syncdb và runserver và ThisModel và ThatModel nằm trong giao diện quản trị.

Điều đó có phù hợp với bạn không?

Best wishes

Ivan

** Tham khảo

(Tôi là thành viên mới nên tôi được phép gửi chỉ có một siêu liên kết!)

Django tutorial: Make the poll app modifiable in the admin

Ngoài ra còn là một truy vấn trên các nhóm Pinax google thời gian gần đây với tựa đề "Làm thế nào để thêm ứng dụng của tôi để quản lý trong một dự án Pinax?"

+0

nếu bạn xem câu hỏi của tôi, tôi đã làm điều đó. Cảm ơn – philgo20

0

Để người khác gặp vấn đề này, tôi gặp vấn đề tương tự do grappelli.dashboard nằm trong ứng dụng đã cài đặt nhưng không thực sự được cài đặt trong virtualenv, do đó hãy thực hiện đóng băng và đảm bảo tất cả yêu cầu của bạn được cài đặt thực sự.

0

tôi đã cùng một vấn đề, những gì làm việc đối với tôi là thay đổi dòng này trong urls.py:

url(r'^admin/', include(admin.site.urls)), 

để

url('^admin/', include(admin.site.urls)), 

(Loại bỏ các r trong bit đầu tiên của mã) Vì lý do nào đó mà tôi không biết, các cuộc thăm dò đã được hiển thị trong quản trị viên sau đó.

Các vấn đề liên quan