ytyng.com

カテゴリーの投稿を見る Django

Python selenium ChromeDriver がエラー127 で起動しない場合、libgconf2 をインストール

ubuntu 14.04

Django Social Auth で AuthAlreadyAssociated が出る場合

いつも焦るので書いておく

Django SJISのCSVをダウンロードさせるビュー基底クラス

Django SJISのCSVをダウンロードさせるビュー基底クラス

Django Admin カスタムフィルタを作成

SimpleListFilter を使って簡単に書ける

Django で、datetime で MySQL 検索する時にタイムゾーンがずれてうまく検索できないミス

けっこう何回もミスってしまうのでメモ。

Django CSRFトークン認証に失敗する ELB -> Apache2 -> uwsgi

元々は
AWS ELB -> Apache2 -> mod_wsgi という構成だったが、
AWS ELB -> Apache2 -> uwsgi と、Djangoサーバを uwsgi に変えたら、

ログインフォームを送信する時など、django csrf 認証に失敗するようになった。


DEBUG = True で見てみると

アクセス禁止 (403)

CSRF検証に失敗したため、リクエストは中断されました。
Help

Reason given for failure:

    Referer checking failed - https://example.com.com/some-path/ does not match any trusted origins.
    

In general, this can occur when there is a genuine Cross Site Request Forgery, or when Django's CSRF mechanism has not been used correctly. For POST forms, you need to ensure:

    Your browser is accepting cookies.
    The view function passes a request to the template's render method.
    In the template, there is a {% csrf_token %} template tag inside each POST form that targets an internal URL.
    If you are not using CsrfViewMiddleware, then you must use csrf_protect on any views that use the csrf_token template tag, as well as those that accept the POST data.

You're seeing the help section of this page because you have DEBUG = True in your Django settings file. Change that to False, and only the initial error message will be displayed.

You can customize this page using the CSRF_FAILURE_VIEW setting.



ELB で HTTPS を受け、Apache には 80 でリクエスト、uwsgi は HTTP プロトコルをリッスンしている(uwsgiプロトコルではない)

Apacheの設定は

ProxyPass / http://127.0.0.1:8081/
ProxyPassReverse / http://127.0.0.1:8081/

Alias /static/ /var/django/xxxxx/staticfiles/
ProxyPass /static/ !

こんな感じ。

Django のコードを検索してみると

csrf.py

REASON_BAD_REFERER = "Referer checking failed - %s does not match any trusted origins."


こうなっていて、コードを読んで見ると CSRF_TRUSTED_ORIGINS にドメインを入れれば良いっぽい。

CSRF_TRUSTED_ORIGINS = [".example.com"] これで良い

Django で Shift-JIS の CSV を出力

Python 3, Django 1.9

Django RedirectView を URLs でインラインで使って、URLパスを保持したままリダイレクトする

/url-path-before/feature/hoge/ にアクセスした人を、 /url-path-after/feature/hoge/ にリダイレクトしたい。

Django マネジメントコマンドの重複起動防止デコレータ

Django TemplateView を、@cached_property を多用して書いてみる

Django に標準搭載の django.views.generic.TemplateView。

複雑なクエリで検索した Django モデルインスタンスを Paginator でページングする

class Content(models.Model):
    content_name = models.Charfield(...)
    group_id = models.PositiveIntegerField(...)
    volume_number = models.PositiveIntegerField(...)
    ...

典型的な Django のモデルクラスががあるとして、そのインスタンスを複雑な SQL 1発で検索したい。 結果は Web ページに表示したいが、多くの行になることが予想されるため、パジネータを表示したい。

Django 1.7 で、マイグレーションファイルでフルテキストインデックスを作成する

Django 1.7 以上の DB マイグレーション機能で、MySQL のフルテキストインデックスを作らせる方法です。

Django の機能(テンプレートレンダラ)などを使いたいけど settings を定義したくない時、MagicMockを変わりに使うのはどうでしょう → 間違ってた

間違っていました。

Djangoのテンプレートビュー (TemplateView)で文字列置換する方法

Djangoのテンプレートビュー ( TemplateViewクラス) を使って、HTMLテンプレートをそのまま出力したいけど、 その出力結果の文字列を一括置換したい方法2案です。

Djangoで、簡易的なログインのURLを作る

url(r'^login/', 'django.contrib.auth.views.login', name='login',
    kwargs={'template_name': 'admin/login.html',
            'extra_context': {'next': '/'}}),

このリンクをこのようにテンプレートに書き、

Mezzanine で、reStructured text を使う

Python + Django 上で CMS を構築する、 Mezzanine というシステムがあります。 ブログエントリは標準形式では WYSIWYG な HTML エディタで書きますが、 reStructured Text (reST, rst) で書きたかったため調べてみました。

Django adminのフォームのテンプレートに、独自HTMLを追加する

1. モジュールの admin.py に、change_form_template を定義

独自テンプレートの場所を指定する

recreate-migration マイグレーションを再作成するBASH関数

マイグレーションを戻して、マイグレーションスクリプトを全削除した後に schemamigrations しなおす。

時間分岐のテンプレートタグ ifbefore ifafter ifafterbefore

# -*- coding: utf-8 -*-

lorem_ipsum でダミー文章を作成する

lorem テンプレートタグなんかで使われる、 django.contrib.webdesign.lorem_ipsum パッケージを利用して、記事のダミーデータを作成できる。

  • ページ 1 まで - 全件: 2
  • 1
  • 2

最近のツイート

  • 漫画全巻ドットコム@ポイント最大15倍!

    漫画全巻ドットコム@ポイント最大15倍! @mangazenkan

    ytyng

    おはようございます!さぁ、いよいよ始まります!加藤浩次さん司会のがっちりマンデー!!が、はじまります!みなさん、うちの濱田、ダンディーが、映ります! https://t.co/YQj2zxafqe
    3 週間, 1 日 前

  • ytyng

    ytyng @ytyng

    漫画全巻ドットコム またテレビ出ます! がっちりマンデー。日曜日放送です。サーバ増やして待ってます! @mangazenkan https://t.co/cFVryVA7kG https://t.co/ia5rUMIIfw
    4 週間 前

  • ytyng

    ytyng @ytyng

    やばい、機能がリリースされない! タイムゾーンか? サマータイム設定になってるのか? とか焦ってたら、リリース日になってなかっただけだった。今日月末じゃん。月初じゃないじゃん。1人で焦ってたけど結果1日得した気分
    2 ヶ月, 3 週間 前