[Django] Google Search Console などでサイトのドキュメントルートにHTMLファイルを設置する方法
2017/05/13 19:14
  • Django1.8以上を使っていて、Google Search Console などで
    サイトのドキュメントルートにHTMLファイルを設置する方法を紹介します。

    Djangoではルーティングがいい感じに設定されているので
    ドキュメントルート直下にファイルを置きたい場合に困ることが有ると思いますが、
    その対応をした時のメモを残しておきます。

    発端は以下の過去記事です。
    さくらのVPSにRapidSSLの証明書を組み込んだときのメモ
    Google Search Console に自分のサイトを登録する方法

    RapidSSL の認証ファイルの設置だったり、Google Search Console の所有者確認用HTMLファイルの
    設置のときに、少し困った、という過去がありました。

    ドメイン直下のHTMLファイルにアクセスさせるため、以下のように TemplateView を使って対応してみました。

    ※以下の例では Google Search Console の所有者確認を例にしています。

    設置したいファイルを app/templates に保存する

    ダウンロードした指定のファイルは templates ディレクトリ内に
    保存します。

    このままだともちろん表示されないので、 views.py, urls.py も追記する必要があります。

    views.py


    from django.views.generic import TemplateView
    
    
    class GoogleSearchConsoleView(TemplateView):
        template_name = 'googleXXXXXX.html' # DLしたファイル名をそのまま記述
    
    

    urls.py


    urlpatterns = [
        ...
        url(r'^googleXXXXXX.html$', views.GoogleSearchConsoleView.as_view(), name='GoogleSearchConsole'),
    ]
    

    以上で、ドキュメントルート直下のHTMLファイルにアクセスできるようになります。
    (サーバーの再起動をお忘れなく)

    番外編

    django-htmlmin を使って出力するHTMLを圧縮している場合は、
    以下の対応が必要となります。

    settings.py


    # minify HTML
    EXCLUDE_FROM_MINIFYING = (
        '^admin/',
        '^googleXXXXXX.html', # 追記
    )
    

    参考:Webサイト高速化のために行った6つのこと(4)

    人気ブログランキングへ ブログランキング・にほんブログ村へ
    ↑応援よろしくお願いします!m(_ _)m

  • <2017/05/15 12:39>
  • Python
  • DjangoPythonHTMLドキュメントルート直下静的ファイルHTMLファイル
  • 新しい記事へ
    [Django] Python の send_mail() で Gmail の SMTP サーバーを利用する場合、 email_from が変更できない

    古い記事へ
    GASでアジェンダ作成と関係者への通知を自動化した話

profile picture

自己紹介的な何か

@wkmettyでついったーやってます。時々。 6年間勤めたゲーム会社を2018年2月に退職しフリーランスのプログラマに。 WordPress Core, WP-CLI コントリビューター。 お仕事募集中です。