2010-02-03 4 views
2

J'applique la balise de modèle 'url' à tous les liens de mon projet Django actuel.Nom du projet inséré automatiquement dans l'url lors de l'utilisation du tag d'URL de modèle django

J'ai mes urls nommés comme si ...

url(r'^login/$', 'login', name='site_login'), 

Cela me permet d'accéder/login à la racine de mon site. J'ai mon étiquette de modèle défini comme si ...

<a href="{% url site_login %}"> 

Il fonctionne très bien, sauf que Django résout automatiquement url comme /myprojectname/connexion, pas /login. Les deux URL sont accessibles. Pourquoi? Y a-t-il une option pour supprimer le nom du projet? Cela se produit pour tous les tags d'URL, pas seulement celui-ci.

+0

Je suis le même problème que cela. Avez-vous déjà trouvé la solution? – betamax

+0

C'était un problème avec ma configuration Apache. Consultez mon article ici: http://groups.google.com/group/django-users/browse_thread/thread/83c1002f48328aa3/6307881f6e53cfa3?lnk=gst&q=adambossy#6307881f6e53cfa3 – thebossman

Répondre

3

Apparemment, il avait un problème avec ma configuration apache2. Je essentiellement copié les directives sur le site Web de django, avec une petite modification:

http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#basic-configuration

j'ai changé pour mon projet si Django sera servi dans le répertoire racine de mon site.

J'ai dû supprimer '/ mysite' de l'option django.root. Mon résultat final ressemble à ceci, sans valeur après django.root:

<Location "/"> 
    SetHandler python-program 
    PythonHandler django.core.handlers.modpython 
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings 
    PythonOption django.root 
    PythonDebug On 
</Location> 

Pour mémoire, je suis en cours d'exécution:

Django 1.0 Apache 2.2 mod_python 3.3.1 (je pense ... :)) Ubuntu Hardy 8.04.4

Copié d'ici: http://groups.google.com/group/django-users/msg/5e79ed1e694a3776

0

Dans votre URL, conf django rencontre ce modèle d'URL plus tôt que l'autre.

Depuis la résolution url se fait un par un, il suffit de déplacer autour de la connexion principale avant l'inclure dans la principale urls.py

+0

Il n'y a qu'un seul modèle d'URL. Le second, "/ myprojectname/login", est créé * magiquement *. J'essaie de comprendre pourquoi cette magie se produit et s'il y a une option pour le changer. – thebossman

Questions connexes