2012-06-28 11 views
2

Je suis nouveau à Django et j'ai pensé que j'allais suivre quelques tutoriels avant de me lancer seul. J'essaye de programmer l'application de calendrier décrite ici: http://lightbird.net/dbe/cal1.html. Cependant, leurs URLconfigs ne semblent pas fonctionner pour moi que je reçois l'erreur suivante:L'objet 'str' n'est pas appelable Django

TypeError at /admin/ 

'str' object is not callable 

Request Method:   GET 
Request URL: http://ec2-23-20-82-228.compute-1.amazonaws.com:8000/admin/ 
Django Version:  1.4 
Exception Type:  TypeError 
Exception Value:  

'str' object is not callable 

Exception Location:  /usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response, line 111 
Python Executable: /usr/bin/python 
Python Version:   2.7.3 

Si quelqu'un pouvait me diriger dans la bonne direction, ce serait grandement apprécié!

+0

Plus pourrait être très utile - à un certain point, vous avez une chaîne au lieu d'une fonction. Trouvez-le et corrigez-le, et vous devriez être OK. – Peter

Répondre

5

Je suis assez sûr que votre erreur est causée par une conf url erronée, le lien que vous avez publié décrit seulement 2 urlpatterns pas l'URL complète conf:

(r"^(\d+)/$", "main"), 
(r"", "main"), 

Vous ne pouvez faire référence à une chaîne « principale » si vous configurez le préfixe correctement, donc dans votre cas, vous avez probablement une structure comme:

/project 
    /app 
     views.py 
     urls.py 

votre URL doit conf être:

urlpatterns = patterns('app.views', 
    (r"^(\d+)/$", "main"), 
    (r"", "main"), 
) 

Vous pouvez également importer directement la fonction comme ceci:

from app.views import main 

urlpatterns = patterns('', 
    (r"^(\d+)/$", main), 
    (r"", main), 
) 

Je pense qu'il est aussi mauvaise pratique d'avoir deux urls pointant vers le même point de vue, je préfère créer une redirection pour le second et laisser la vue de déterminer s'il y a des paramètres à gérer

+0

Ai-je besoin de faire quoi que ce soit dans le projet urls.py? Désolé, je suis complètement nouveau à ce sujet. –

+0

Peut-être que vous devriez essayer le tutoriel Django si vous n'êtes pas familier avec son MVC. Cela vous aidera à comprendre https://docs.djangoproject.com/en/dev/intro/tutorial01/ –

Questions connexes