2011-02-07 1 views
3

マイ1.2.3ジャンゴサイトはcontrib.authを使用し、私の目標は、ログイン・ページのみを印刷するwkhtmltopdfコマンドラインを使用することで、wkhtml can handle this situationログイン

だから私はそれは問題は、私はいつも403 CSRF(またはクッキー)保護エラーが出るということです
可能です確認するために、カールでログインをテストしました。
私は2番目のログインビューを無効にCSRFを行うことを試みた:

from django.views.decorators.csrf import csrf_exempt 
from django.contrib.auth.views import login 

@csrf_exempt 
def fakelogin(request, template_name='registration/login.html'): 
    return login(request, template_name) 

予想通り、この新しいビューは動作します。その後、hereを述べたように:

curl -c cookies.txt http://dev.local:8000/fakelogin/ 
curl -c cookies.txt -d login.txt http://dev.local:8000/fakelogin/ 

username=Bob&password=secret&next=/page_to_print/id/

を含むlogin.txtとしかし、403 CSRFエラーがまだ現れ(そしてそれは彼にCSRFまたはセッションクッキーに関連しています場合、私は本当に知りませんpoint ...)

答えて

3

CSRFを無効にするには、settings.pyファイルのCSRFMiddleWareを削除するだけです。しかし、あなたのテストの後にそれを戻すことを忘れないでください。

将来的にtwillのようなものを使用して、フォーム和、リンク解析、クッキー、リダイレクトなどの処理を簡単に行うことができます。

+0

CSRFを無効にすることはできません。カールはログインの成功をテストする単なる簡単な方法ですが、私はもちろん、ツイルを使用することもできます。 –

+0

私はあなたの質問に「私は第2のログインビューでCSRFを無効にしようとしました」と読みましたので、(一時的な手段として)提案しました。明らかに、あなたはそれをオフにしたくない。ツイルは確かに使い方が簡単で、easy_installを使って1つのコマンドでインストールすることができます。 –

+0

あなたの助けてくれてありがとう、しかし、私は私のページをテストしたくない、ちょうどシェル経由でログインすることができます、私はwkhtmlでこれを行う必要があるので。 –

関連する問題