1

Django サイトが urls.py のパターンと一致しないという問題があります。

url(r'label/(?P<name_value>.*)$', 'name.views.label', name='label'),

URLをリクエストすると

http://<site>/name/label/foo

...ビュー「ラベル」に移動する代わりに、末尾にスラッシュを追加して 302 リダイレクトします。

注: これは、サイトをテスト環境に移動した場合にのみ機能します。Django の組み込みのミニサーバー (manage.py runserver) でこれを行うと、スラッシュが追加されず、意図したとおりに「ラベル」ビューに移動します。

テスト環境では、Django 1.3 と Apache 2.2.8 を使用しています。

/etc/apache2/sites-available/default は次のとおりです。

<VirtualHost *:80>
    ServerName ******************
    ServerAdmin ******************
    ErrorLog /var/log/apache2/error.log
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature On

    Alias /media /home/media
    <Location /media>
        SetHandler None
    </Location>

    <Directory /home/media>
        Options +FollowSymLinks
    </Directory>

    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    PythonDebug On
    SetEnv DJANGO_SETTINGS_MODULE site.settings
    PythonPath "['/home/code', '/home/code/site'] + sys.path"
</VirtualHost>

私がどこで間違っているか知っている人はいますか?

4

2 に答える 2

1

Django docs によると、 Django 設定ファイルに以下を追加する必要があります。

APPEND_SLASH = False
于 2013-03-01T20:04:03.497 に答える
0

これを試して:

url(r'label/(?P<name_value>[\w_-]+)$', 'name.views.label', name='label'),
于 2013-03-01T18:06:36.397 に答える