0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Djangoで418 I'm a teapotを実装する

Posted at

418 I'm a teapot

418 I'm a teapotとは1998年のエイプリルフールに発表されたジョークステータスコードです。これをDjangoで実装する方法を見つけたので書いていきます。

前提

※ファイル、フォルダ群の階層構造は省略
とりあえずこの記事では前提としてurls.pyは以下のものとします

urls.py
#import文などは省略
urlpatterns = [
	path("teapot", views.teapot, name="teapot"),
	]

単純に418を返す場合

views.py
from django.http import HttpResponse

def teapot(request):
    return HttpResponse(status=418)

この状態でpython manage.py runserverを行い、http://127.0.0.1:8000/teapotにアクセスすると

[05/Sep/2021 21:15:43] "GET /teapot HTTP/1.1" 418 0

とコンソールに表示され、418番が出ていることが分かります。

418専用のHTMLを出したい場合

まずtemplatesフォルダ直下に418.html(別にこの名前じゃなくてもOK)を作成しておき、

418.html
{% load static %}
<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <h1>I'm a teapot!!</h1>
        <img src = "{% static 'picture/teatime_teapot.png' %}">
    </body>
</html>

と書き、そしてviews.pyに

views.py
from django.shortcuts import render

def teapot(request):
    return render(request, "418.html", status=418)

と書いておきます。
この状態でpython manage.py runserverをし、http://127.0.0.1:8000/teapotにアクセスすると、
418_qiita.PNG
と表示されるはずです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?