万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Djangoのmiddleware 1.2.2 以上?

    フォームに入力するときのバリデーションを行うと。以下のエラーがブラウザに・・。

    Forbidden (403) CSRF verification failed. Request aborted.
    
    Reason given for failure:
    
    No CSRF or session cookie.

    Why is Django admin login giving me 403 CSRF error?
    URL: http://stackoverflow.com/questions/3678238/why-is-django-admin-login-giving-me-403-csrf-error

    ↑を参考にすると

    まずは、プロジェクト内にmiddleware.pyファイルを追加し、

    class disableCSRF:
        def process_request(self, request):
            setattr(request, '_dont_enforce_csrf_checks', True)
            return None
    

    を記載する。

    ・settings.py
    以下を修正する

    MIDDLEWARE_CLASSES = (
        'django.middleware.common.CommonMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        # Uncomment the next line for simple clickjacking protection:
        # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
        'microblog.middleware.disableCSRF',  #ここ修正
    )