0

registration という Django アプリをインストールしました。テンプレートを設定し、URL に追加してファイルを表示すると、すべてうまくいきました。今、ログアウト後にシステムにログインする際に問題が発生しました(これは以前には発生しませんでした)ブラウザからCookieと閲覧履歴をクリアし(それが問題かどうかを確認するために複数の履歴を試しました)、「/registration/login」に到達しました/" と入力し、情報を入力するとログインできます。ログアウトボタンをクリックすると、すべてが正常にログアウトされます。問題は、もう一度ログインするときに「/registration/login/」に移動し、フォームに情報を入力して送信して取得することです

NoReverseMatch at /registration/login/
Reverse for '' with arguments '()' and keyword arguments '{}' not found.
Request Method: POST
Request URL:    http://genie:8181/registration/login/
Django Version: 1.5.2
Exception Type: NoReverseMatch
Exception Value:    
Reverse for '' with arguments '()' and keyword arguments '{}' not found.
Exception Location: /usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py     in _reverse_with_prefix, line 416
Python Executable:  /usr/bin/python
Python Version: 2.7.3
Python Path:    
['/var/www/RegCal',
 '/usr/local/lib/python2.7/dist-packages/South-0.8.2-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/distribute-0.7.3-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/setuptools-1.1.6-py2.7.egg',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']
Server time:    Tue, 8 Oct 2013 17:18:11 -0500
Traceback Switch to copy-and-paste view

/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response
                    response = callback(request, *callback_args, **callback_kwargs) ...
 ▶ Local vars
 /usr/local/lib/python2.7/dist-packages/django/views/decorators/debug.py in      sensitive_post_parameters_wrapper
          return view(request, *args, **kwargs) ...

現在、通常、これらのエラーは「Reverse for '' with」で行番号とともに名前を示し、通常は URL の問題です。私が理解できないのは、この URL にアクセスできるのに、なぜフォームが投稿されないのかということです。事前にヒントやヒントをお寄せいただきありがとうございます。必要なものをお知らせください。アップロードします。

ログイン用のテンプレート ファイル {% extends 'base.html' %}

{% block title %} | Please login{% endblock title %}

{% block content %}
    {% if forms.errors %}
        <p>Sorry, that's not a valid username or password</p>
    {% endif %}
    <div class="row-fluid">
        <form id="login_small" class="span6" action="{{ app_path }}" method="post" >{% csrf_token %}
            <div class="span4 pic"></div>

            <div class="span8">
                <span></span>
                <input type="text" name="username" value="Username" id="username">
                <input type="password" name="password" value="password" id="password">
                <input type="submit" value="login" class="submit_but" />
            </div>
        </form>
    </div>

{% endblock content %}

{{ app_path }} を変更しようとしましたが、何も変更されなかったことに注意してください。それでも同じエラーが発生します

URL パターン ファイル:

from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    #Get urls from the userprofile app
    url(r'^account/', include('userprofile.urls')),

    #URL Patterns for the registration apps
    url(r'^registration/', include('registration.backends.default.urls')),

    #Site Admin URL Patterns
    url(r'^admin/', include(admin.site.urls)),
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    #Day URL Patterns
    url(r'^view/day/(\d+)/(\d+)/(\d+)/$', 'courseCalendar.views.day'),
    url(r'^view/day$', 'courseCalendar.views.day'),

    #Month URL Patterns
    url(r'^view/month$', 'courseCalendar.views.month'),
    url(r'^view/month/(?P<year>\d{4})/(?P<month>\d{1,2})$', 'courseCalendar.views.month'),
    url(r'^view/month/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<change>\w+)$', 'courseCalendar.views.month'),

    #Year URL Patterns
    url(r"^view/year/(?P<year>\d+)$", 'courseCalendar.views.year'),

    #Course Edit Patterns
    url(r"^edit/course/(?P<courseID>\d+)$", 'courseCalendar.views.courseEdit'),
    url(r"^edit/course$", 'courseCalendar.views.courseEdit'),

    #Enroll Student Page
    url(r"^enroll/(?P<courseID>\d+)/(?P<userID>\d+)$", 'courseCalendar.views.enroll'),

    #Search through existing courses
    url(r"^search/$", 'courseCalendar.views.courseSearch'),

    #Root Directory Pattern
    url(r'', 'courseCalendar.views.year'),
)
4

1 に答える 1

0

ええと、私はこれに本当に間抜けな気がします。このエラーが発生した理由は、LOGIN_REDIRECT_URL = '' があったためです。ログインを許可する URL の次のパラメーターにさまざまな引数を入力することで、それが問題であると考えました。ルート URL にヒットし、ページが提供される可能性があります。設定ページに目を通すことにしましたが、その行に出くわして変更し、正常に戻りました.

于 2013-10-09T15:54:58.307 に答える