私はPinaxを使用しており、requests
モジュールを使用してaccount
プロジェクトでログインテストを実行しようとしています。受け取りました403 python要求をログに記録するとCSRF検証に失敗しました
私は返さこの
def test001_login(self):
#cookies = {'csrftoken': 'a8356fd05b25fad7004994fd5da89596'}
r = requests.post(self.loginurl, data={'username':self.username, 'password': self.password}, auth=(self.username, self.password),allow_redirects=True)
print r.status_code
print r.text
print r.cookies
クッキーが空でありませんでした! get
メソッドでは、私はクッキーを取得します。この問題の原因は何ですか?
r.text
結果:
<p>Reason given for failure:</p>
<pre>
No CSRF or session cookie.
</pre>
<p>In general, this can occur when there is a genuine Cross Site Request Forgery, or when
<a
href='http://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ref-contrib-csrf'>Django's
CSRF mechanism</a> has not been used correctly. For POST forms, you need to
ensure:</p>
私はcookies
に固執しようとしたが、それはまだ私に403エラーが発生しました。
テスト駆動開発をやっている場合
はありがとうClientを調べる価値があるかもしれません。私もそれをやろうとしていました。私はこれのようにインポートする必要がありますか? 'from django.middleware import csrf' – CppLearner
はい、正しいです。 – Furbeenator