2

現在のDjangoプロジェクトのすべてのリンクに「url」テンプレートタグを適用しています。

私のURLにはそのような名前が付いています...

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

これにより、サイトのルートで/loginにアクセスできるようになります。テンプレートタグを次のように定義しています...

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

DjangoがそのURLを/loginではなく/myprojectname/ loginとして自動的に解決することを除いて、正常に動作します。両方のURLにアクセスできます。なんで?プロジェクト名を削除するオプションはありますか?これは、これだけでなく、すべてのurlタグで発生します。

4

2 に答える 2

3

どうやら、apache2 の設定に問題があったようです。基本的に、django Web サイトからディレクティブをコピーし、1 つの小さな変更を加えました。

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

Django プロジェクトがサイトのルート ディレクトリで提供されるように変更しました。

django.root オプションから「/mysite」を削除する必要がありました。最終的な出力は次のようになり、django.root の後に値はありません。

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

記録のために、私は実行しています:

Django 1.0 Apache 2.2 mod_python 3.3.1 (私は思う... :)) Ubuntu Hardy 8.04.4

ここからコピー: http://groups.google.com/group/django-users/msg/5e79ed1e694a3776

于 2010-04-23T21:57:01.747 に答える
0

URL conf で、django はこの URL パターンを他の URL パターンよりも早く検出します。

URL の解決は 1 つずつ行われるため、メインの urls.py 内にインクルードする前に、メインのログインを移動するだけです。

于 2010-02-03T05:43:16.287 に答える