2012-05-26 14 views
5

को डीजेंगो नौसिखिया के रूप में नहीं जोड़ता है (मेरे पास अन्य अजगर वेबफ्रेमवर्क जैसे टर्बोगियर और बोतल की तलाश है लेकिन डीजेंगो की खोज है) मैं अपने ऐप के लिए व्यवस्थापक प्रबंधन को स्वतः बनाने की कोशिश कर रहा हूं मॉडलDjango admin.site.register मेरे ऐप व्यवस्थापक

था मुख्य URLS.py में मेरे पास है:

संपादित:

from django.contrib import admin 
admin.autodiscover() 

और उसके बाद:

urlpatterns = patterns('', 
         url(r'^appname/',include('appname.urls')), 
         url(r'^admin/',include(admin.site.urls)) 

नोटिस इस मुख्य urls.py में और एप्लिकेशन urls.py

ट्यूटोरियल निम्नलिखित में नहीं है (जो ट्यूटोरियल में मेरे लिए काम किया है ..) मैं में एक 'admin.py' फ़ाइल बनाई APPNAME फ़ोल्डर और वहाँ:

from appname.models import Appname 
from django.contrib import admin 


class appnameAdmin(admin.ModelAdmin): 
     fieldsets = [various field sets and fields etc ] 

admin.site.register(Appname,AppnameAdmin) 

और setting.py में मैं uncommented है

'django.contrib.admin' 

मैं कमांडलाइन खिड़की और बुनियादी व्यवस्थापक स्क्रीन में किसी भी त्रुटि नहीं मिलता है प्रकट होता है (प्रमाणन और साइटों)

मैं manage.py खोल में admin.py में आयात की जाँच की और सब कुछ allright काम करने के लिए लग रहा था, मैं भी AppnameAdmin वर्ग बाहर टिप्पणी और सिर्फ Registring की कोशिश की:

admin.site.register(Appname) 

लेकिन वह eith काम नहीं किया

मेरा अनुमान है कि मैं कुछ स्पष्ट याद कर रहा हूँ - मुझे लगता है कि

का उपयोग कर Django ०१२३८३९४१०९ के सभी 1.4 + अजगर 2.72

+1

क्या आपका ऐप सेटिंग.py में INSTALLED_APPS में है? – dannyroa

+0

हाँ यह है और यह ऐप स्वयं काम करता है .. – alonisser

उत्तर

7

चेक के साथ मदद करने में खुशी होगी:

Django व्यवस्थापक साइट को सक्रिय करने में सात चरण हैं:

  1. जोड़ें अपने INSTALLED_APPS सेटिंग को 'django.contrib.admin'।
  2. व्यवस्थापक की चार निर्भरताएं हैं - django.contrib.auth, django.contrib.contenttypes, django.contrib.messages और django.contrib.sessions। यदि ये एप्लिकेशन आपके INSTALLED_APPS सूची में नहीं हैं, तो उन्हें जोड़ें।
  3. tjPLATE_CONTEXT_PROCESSORS और संदेश Middleware को MIDDLEWARE_CLASSES पर django.contrib.messages.context_processors.messages जोड़ें। (ये दोनों डिफ़ॉल्ट रूप से सक्रिय हैं, इसलिए आप केवल को यह करने की ज़रूरत है यदि आपने मैन्युअल रूप से सेटिंग्स को tweaked किया है।)
  4. यह निर्धारित करें कि आपके एप्लिकेशन के मॉडल में से कौन सा व्यवस्थापक इंटरफ़ेस में संपादन योग्य होना चाहिए।
  5. उन मॉडलों में से प्रत्येक के लिए वैकल्पिक रूप से एक मॉडलएडमिन क्लास बनाएं जो के लिए विशिष्ट व्यवस्थापक कार्यक्षमता और विकल्पों को समाहित करता है।
  6. एडमिनसाइट को इंस्टेंट करें और अपने प्रत्येक मॉडल और मॉडलएडमिन कक्षाओं के बारे में बताएं।
  7. AdminSite उदाहरण को अपने URLconf में हुक करें।
  • आप अपने इंस्टॉल किए गए एप्लिकेशन में अन्य सभी व्यवस्थापक निर्भरता है?
  • क्या आपके पास अपने URLS.py में admin.autodiscover() है?

इसके अलावा, मुझे लगता है कि अपने कोड इस तरह कुछ दिखना चाहिए:

from projectname.appname.models import Appname 
from django.contrib import admin 


class AppnameAdmin(admin.ModelAdmin): 
     fieldsets = [various field sets and fields etc ] 

admin.site.register(Appname,AppnameAdmin) 
+0

असल में मेरा मानना ​​है कि टेम्पलेट_कॉन्टेक्स्ट_प्रोसेसर का उपयोग django 1.4 में नहीं किया गया है। इसका प्रबंधन में कोई उल्लेख नहीं था। इसे जोड़ने के बाद मुझे एक त्रुटि संदेश मिला, एक और निर्भरता मांगने के बाद और यह जोड़ने के बाद कि मुझे पहले डिफ़ॉल्ट रूप से एक पूर्ण खाली व्यवस्थापक पृष्ठ मिला। जैसा कि मैंने प्रश्न में लिखा - admin.autodiscover() चालू है और मैं मॉडल के लिए एक प्रशासक को तत्काल करता हूं। यह – alonisser

+0

के बारे में अजीब बात है, मुझे प्रश्न में admin.autodiscover() के लिए कोई संदर्भ नहीं दिख रहा है। टेम्पलेट_कॉन्टेक्स्ट_प्रोसेसरों के लिए 1.4 डॉक्स यहां दिए गए हैं: https://docs.djangoproject.com/en/1.4/ref/settings/#std:setting-TEMPLATE_CONTEXT_PROCESSORS क्या आप कोड से लिंक करने में सक्षम हैं या कम से कम हमें फाइलें दिखा सकते हैं से अनुभाग चिपकाया है? – DanS

+0

बस कोड जोड़ा गया .. – alonisser

1

aaargghhh - मैं इस समस्या पाया। मैंने app.py/फ़ोल्डर के बजाय टेम्पलेट/ऐपनाम/फ़ोल्डर में admin.py को सहेजा। मेरे बारे में इतना बेवकूफ बाधा के लिए खेद है।

+0

ब्रो ..! इसे प्रश्न पर टिप्पणी के रूप में जोड़ें। – Jay

+0

@JayModi ब्रो .. यह एक बहुत पुराना सवाल और उत्तर है .. – alonisser

2

सेट यह आपके मॉडल को व्यवस्थापक में:

def has_add_permission(self, request, obj=None): 
    return True 
def has_change_permission(self, request, obj=None): 
    return True 
def has_delete_permission(self, request, obj=None): 
    return True 
1

आप सर्वर प्रक्रिया को पुन: प्रारंभ किया है?

शायद यह किसी की सहायता करता है: मेरे मामले में समस्या को सर्वर प्रक्रिया को रोककर और शुरू करके हल किया गया था, क्योंकि जब आप एक नई admin.py फ़ाइल जोड़ते हैं तो यह स्वचालित रूप से पुनः लोड नहीं होता है।

संबंधित मुद्दे