2014-09-15 13 views
9

Sono un po 'confuso perché sto ottenendo questo errore. Non so dove stia ottenendo questo argomento in più.TypeError a/__init __() batte esattamente 1 argomento (2 dato)

Environment: 


Request Method: GET 
Request URL: http://0.0.0.0:5000/ 

Django Version: 1.6.4 
Python Version: 2.7.5 
Installed Applications: 
('django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'nirla.apps.blog') 
Installed Middleware: 
('django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware') 


Traceback: 
File "/Users/nir/nirla/venv/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 
    114.      response = wrapped_callback(request, *callback_args, **callback_kwargs) 

Exception Type: TypeError at/
Exception Value: __init__() takes exactly 1 argument (2 given) 

Poiché questo è un progetto nuovo di zecca, sono un po 'perso. Ho pensato che potrebbe essere che ho puntato i miei url nello stesso posto due volte (una volta nella mia conf il mio url principale e una volta nell'app stessa), ma non sembra averlo risolto una volta che ne ho rimosso uno.

Per avere un riferimento, qui è la vista che sto facendo funzionare:

class home(View): 
    template_name = "blog/home.html" 

    def get(self, request, *args, **kwargs): 

     return render(request, self.template_name) 

Ecco l'urls.py principale:

from django.conf.urls import patterns, include, url 
from django.contrib import admin 
admin.autodiscover() 
from nirla.apps.blog.views import home 


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

Come potete vedere, ho appena iniziato questo progetto e tutto è abbastanza spoglio. Posso fornire più informazioni, ma il progetto è nuda.

Grazie per l'aiuto di un noobie.

+0

mostrano la 'urls.py' e pieno traceback –

+0

Con gli sguardi di esso, il cuoco sembra che vada bene. Tuttavia, assicurati di essere a casa di classe (View): 'stai ereditando dalla classe giusta? – karthikr

+0

Ho aggiunto urls.py Aamir Adnan, e questo è il traceback completo. – ApathyBear

risposta

21

Home è una visualizzazione basata su classi. Per quelli, è necessario utilizzare il metodo as_view nel vostro modello URL:

url(r'^$', home.as_view(), name='home'), 

Vedere le documentation.

+0

Ancora una volta Daniel, al punto. Grazie! – ApathyBear

Problemi correlati