カテゴリー: 日本で一番年配のオヤジプログラマー

  • CopilotにDjangoのJavascrptの処理を聞いてみた(7)

    Django htmlのformで入力時に、文字が小文字の英数字で、10文字数以内で、{{ list }}内の要素の値と重複しないようなチェックするjavascriptを生成してください

    回答:

    こちらが、DjangoのHTMLフォームで以下の条件を満たす入力チェックを行うJavaScriptのコードです:

    小文字の英数字(a-z、0-9)のみ許可

    最大10文字まで

    {{ list }} 内の要素と重複しないこと

    Copilotの回答:

    説明:
    {{ list|safe }} を使用して、DjangoのlistをJavaScriptの配列に変換。

    validateInput() 関数で入力値をチェック:

    正規表現 (/^[a-z0-9]{1,10}$/) により、小文字の英数字のみ許可し、最大10文字まで制限。

    配列 existingValues との重複チェックを行う。

    oninput イベントを使用し、リアルタイムでチェック。

    この方法なら、ユーザーに対して適切な入力を促すことができます!カスタマイズしたい点があれば、お気軽にどうぞ 😊

    完璧なプログラミング内容です。

    これをプログラミング初心者は有効活用してください!!

    「いまココぼっち」マッチングアプリを開発しておりますが、5月31にリリースします。

    Djangoフレームワークを利用したWebアプリケーション開発者としては、日本で一番年配者だと思っております?

    今、60代以上のプログラマーと交流をしたいと思っています。

    交流ご希望の方連絡ください!!

  • Copilotに質問(5)

    django created_atから年、月、日を抽出するという簡単な質問

    Copilotの回答:

    1. Django ORMの annotate を使う
      Djangoの annotate を使えば、クエリ内で直接日付情報を抽出できます。

    python
    from django.db.models.functions import ExtractYear, ExtractMonth, ExtractDay

    queryset = YourModel.objects.annotate(
    year=ExtractYear(‘created_at’),
    month=ExtractMonth(‘created_at’),
    day=ExtractDay(‘created_at’)
    )

    for obj in queryset:
    print(obj.year, obj.month, obj.day)
    📌 ポイント

    ExtractYear, ExtractMonth, ExtractDay を使うと、DBから直接値を取得できる。

    DBの負荷を減らし、効率よくデータを取得できる。

    1. Pythonの datetime モジュールを使う
      Django ORMで取得後に datetime モジュールを使って処理する方法もあります。

    python
    from datetime import datetime

    obj = YourModel.objects.first() # 最初のレコードを取得
    created_at = obj.created_at

    year = created_at.year
    month = created_at.month
    day = created_at.day

    print(year, month, day)
    📌 ポイント

    created_at.year, created_at.month, created_at.day で簡単に取得可能。

    ORMでフィルタ後に処理する場合に便利。

    忘れがちな文法は、Copilotに気軽に聞いたほうが検索エンジンより効率がよさそう!!

    いまココぼっちというマッチングアプリを2025年5月にリリースします!