2011-08-11 13 views
11

मैं इस त्रुटि मिलती रहती है: 'str' ऑब्जेक्ट कोई विशेषता 'संकल्प''str' ऑब्जेक्ट कोई विशेषता 'संकल्प' है जब संचालन व्यवस्थापक साइट

जब Django व्यवस्थापक साइट तक पहुँचने की कोशिश कर रहा है और मैं कर सकते हैं 'है क्यों पता नहीं है। मेरे पास मेरे प्रोजेक्ट के भीतर ऐप्स हैं जिनके पास अपनी स्वयं की admin.py फ़ाइलें हैं। क्या इसका कारण यह हो सकता है?

from django.conf.urls.defaults import * 
import settings 
from django.contrib.auth.views import login, logout 
from views import index, simple, complex 
from django.views.generic.simple import direct_to_template 

# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 
urlpatterns = patterns('', 
    # Example: 
    # (r'^django_jchat/', include('django_jchat.foo.urls')), 
    # Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
    # to INSTALLED_APPS to enable admin documentation: 
    (r'^admin/doc/', include('django.contrib.admindocs.urls')), 
    # Uncomment the next line to enable the admin: 
    (r'^admin/', include(admin.site.urls)), 

...

यहाँ ट्रेस वापस:

'str' object has no attribute 'resolve' 
Request Method:   GET 
Django Version:   1.3 
Exception Type:   AttributeError 
Exception Value: 
'str' object has no attribute 'resolve' 
Exception Location:  /home/dockedin/webapps/peebletalk/lib/python2.7/ 
django/core/urlresolvers.py in resolve, line 252 
Python Executable:  /usr/local/bin/python 
Python Version:   2.7.1 
Python Path: 
['/home/dockedin/webapps/peebletalk', 
'/home/dockedin/webapps/peebletalk/lib/python2.7', 
'/home/dockedin/lib/python2.7', 
'/usr/local/lib/python27.zip', 
'/usr/local/lib/python2.7', 
'/usr/local/lib/python2.7/plat-linux2', 
'/usr/local/lib/python2.7/lib-tk', 
'/usr/local/lib/python2.7/lib-old', 
'/usr/local/lib/python2.7/lib-dynload', 
'/usr/local/lib/python2.7/site-packages', 
'/usr/local/lib/python2.7/site-packages/PIL'] 
Server time: Wed, 10 Aug 2011 15:24:55 -0400 
Traceback Switch to copy-and-paste view 
    /home/dockedin/webapps/peebletalk/lib/python2.7/django/core/ 
handlers/base.py in get_response 
          response = middleware_method(request) 
     ... 
    ▶ Local vars 
    /home/dockedin/webapps/peebletalk/lib/python2.7/django/middleware/ 
common.py in process_request 
        if (not _is_valid_path(request.path_info, urlconf) 
and 
      ... 
    ▶ Local vars 
    /home/dockedin/webapps/peebletalk/lib/python2.7/django/middleware/ 
common.py in _is_valid_path 
       urlresolvers.resolve(path, urlconf) 

     ... 
    ▶ Local vars 
    /home/dockedin/webapps/peebletalk/lib/python2.7/django/core/ 
urlresolvers.py in resolve 
      return get_resolver(urlconf).resolve(path) 
      ... 
    ▶ Local vars 
    /home/dockedin/webapps/peebletalk/lib/python2.7/django/core/ 
urlresolvers.py in resolve 
      def resolve(self, path): 
       tried = [] 
       match = self.regex.search(path) 
       if match: 
        new_path = path[match.end():] 
        for pattern in self.url_patterns: 
         try: 
          sub_match = pattern.resolve(new_path) 
     ... 
         except Resolver404, e: 
          sub_tried = e.args[0].get('tried') 
          if sub_tried is not None: 
           tried.extend([[pattern] + t for t in 
sub_tried]) 
          else: 
           tried.append([pattern]) 

उत्तर

27

उत्कृष्ट जवाब के अनुसार यहां पोस्ट: http://redsymbol.net/articles/django-attributeerror-str-object-no-attribute-resolve/

वहाँ आम तौर पर कर रहे हैं यहाँ मेरी urls.py है इस त्रुटि के कई स्रोत:

  1. आप 'पैटर्न कीवर्ड' याद किया:

    urlpatterns = patterns('', 
    (r'^$', direct_to_template, {'template' : 'a.html'}), 
    # ... 
    

    ध्यान दें कि Django 1.8+ में, यह patterns के बजाय regexes की एक सूची उपयोग करना बेहतर है:

    urlpatterns = ('', 
    (r'^$', direct_to_template, {'template' : 'a.html'}), 
    # ... 
    

    इस को बदला जाना चाहिए।

    urlpatterns = [ 
        (r'^$', direct_to_template, {'template' : 'a.html'}), 
        ... 
    ] 
    
  2. आप कुछ टपल में एक अल्पविराम याद किया, जैसे:

    (r'^hello/$' 'views.whatever') 
    
  3. आप कुछ यूआरएल बाहर टिप्पणी की() का उपयोग कर रहा है ट्रिपल उद्धरण

  4. आप लापरवाही में एक बंद कोष्ठक छोड़ गलत स्थान:

    (r'^(?P\d{4})/$', 'archive_year', entry_info_dict), 'coltrane_entry_archive_year', 
    

    इसके बजाय:

    (r'^(?P\d{4})/$', 'archive_year', entry_info_dict, 'coltrane_entry_archive_year'), 
    
  5. आप एक सूची

  6. जब पैटर्न से पलायन एक नियमित रूप से सूची आप पैटर्न के खाली '' तर्क को दूर करना भूल करने के लिए tuples होने की ROOT_URLCONF निर्धारित किया है।

कृपया ध्यान से देखें कि क्या आप अपने कोड में इस मामलों में से एक नहीं है।

+0

पर एक टिप्पणी में इस संभावना को देखा करने के बजाय केवल एक बाहरी को जोड़ने साइट, आप वास्तव में यहां एक जवाब शामिल करना चाहते हो सकता है। इसका मतलब यह होगा कि आगंतुकों को कहीं और जाना नहीं है और आपके उत्तर को अमान्य होने से रोकना चाहिए, क्या वह साइट कभी भी नीचे गिर जाएगी/गायब हो जाएगी। – Bart

+0

@ बार्ट - बहुत बहुत धन्यवाद, मैं अभी भी सीख रहा हूं, अब यह हो गया है। – mnowotka

+2

महान उत्तर, इसने मेरी समस्या ठीक की (सूची में कुछ वस्तुओं को तीन गुना करने के कारण) – RichVel

7

मेरे लिए, यह समस्या का कारण:

urlpatterns = patterns('', 
    url(r'^all/$', 'album.views.albums'), 
    """ 
    url(r'^create/$', 'album.views.create'), 
    url(r'^get/(?P<album_id>\d+)/$', 'album.views.album'), 
    url(r'^like/(?P<album_id>\d+)/$', 'album.views.like_album'), 
""" 
) 

और इस इसे हल:

urlpatterns = patterns('', 
    url(r'^all/$', 'album.views.albums'), 
) 
""" 
    url(r'^create/$', 'album.views.create'), 
    url(r'^get/(?P<album_id>\d+)/$', 'album.views.album'), 
    url(r'^like/(?P<album_id>\d+)/$', 'album.views.like_album'), 
""" 

मैं http://redsymbol.net/articles/django-attributeerror-str-object-no-attribute-resolve/