0

左上の小さなウィジェット内の開始ページにログインフォームを作成する方法は?

ログインのようなスタイリッシュなWeb 2.0が欲しい...右上にスライドイン(dropbox.comのように)...これまでのところデザイン部分...

ビューと django (1.4) のデフォルトのログイン動作に関しては、正しい方向に進むことができません。django.contrib.auth などで動作する標準的な例を取得します...しかし、最初のサイトにログインウィジェットがある場合はどうなりますか:

(r'^$', 'myproject.views.home')

フォームを次のようなテンプレート (home.html) に統合しようとしました。

<form action="/login/" method="post">{% csrf_token %}
        {% if next %}
        <input type="hidden" name="next" value="{{ next }}" />
        {% endif %}
        username:
        <input type="text" name="username" value="{{ username}}" /><br />
        password:
        <input type="password" name="password" value="" /><br />
                <input type="hidden" name="next" value="{{'something'}}" />
        <input type="submit" value="anmelden" />
    </form> 

私の見解は次のようになります。

def home(request):
    title='home'

    try:
         username = request.POST.get('username', '')
         password = request.POST.get('password', '')
         user = auth.authenticate(username=username, password=password)
         if user is not None and user.is_active:
        # Correct password, and the user is marked "active"
            auth.login(request, user)
        # Redirect to a success page.
            return HttpResponseRedirect("/im_in/")
        else:
        # Show an error page
            return HttpResponseRedirect("/im_not/")
    except:


        return render_to_response('home.html',locals()) 

[編集] 私のurlconf:

urlpatterns = patterns('',

    (r'^$', 'edumin.views.home'),
)

私の問題:

送信した後、django は私を /login に導き、次のように言います。

現在の URL login/ は、これらのいずれとも一致しませんでした。

最初のページにログインするための助けや良い例...またはこの目的に役立つカスタムログインはありますか?

4

1 に答える 1

1

ここに表示されているすべての情報に基づいて、実際には/login/ログインをキャッチするものは何もありませんが、代わりに現在の URL を介してログインしようとしています。その場合action、ログイン フォームから属性を完全に削除する必要があります。

于 2012-06-22T16:42:27.167 に答える