ゆーじぇいブログ

ゆーじぇいブログ

プログラミングとか色々

[Django]uuidを使ってみる

f:id:jyouj:20181124164719j:plain

あけましておめでとうございます!

昨日、サービスをリリースしました!

Caroling

久しぶり(といっても一ヶ月ぐらい)にPython/Djangoを使ってサービスを作りました。

そこで、最近GolangやNuxt.jsの記事ばかりだったので、Djangoの記事を書こうと思います。

今回は、uuidをurlとして使ってみることについてです。

urlの値を簡単に推測されなくなります。

モデルの定義

models.pyに記述していきましょう。

from django.db import models
import uuid

# Create your models here.
class Post(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    text = models.CharField(max_length=50)
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ['-created_at']

    def __str__(self):
        return self.text

これでPostモデルのidがuuidになりました。

URLに

そして、urls.pyのpath()の一つ目の引数に

'<uuid:post_id>/'

これを書けばOKです。他のところは普通のpkとなんら変わりません!

何かあれば、じぇい👨‍💻 (@jyouj__) | Twitterに!

投げ銭も待ってまーす!-> jyouj__さんの投げ銭ビスケット募集中!