ユーザ用ツール

サイト用ツール


resource:django

文書の過去の版を表示しています。


django

注目ツール

Apache ECharts: javascriptベース。美麗。 https://echarts.apache.org/en/index.html

djangoメモ

django-treebeard: https://django-treebeard.readthedocs.io/en/latest/index.html# コメントなどの階層構造を取り扱う

django-comment-xtd: コメント用のアプリだがpuputと相性悪そう?

DjangoのmodelでUUIDFieldを使う方法: https://django.baby/uuidfield/

【Django】django-summernoteを使ってブログアプリに便利なテキストエディターを構築 https://zerofromlight.com/blogs/detail/51/

puputでhtmlを直接記述 https://monoaso.net/2020/09/25/puput_html_rawcode/

Python Django 入門 (ver.4) https://rinsaka.com/django4/index.html

新規アプリのモジュール

  • django bootstrap5
  • cryspi 5
  • allauth
  • ajax
  • treebeard
  • summernote
  • social

djangoのはじめかた

忘れまくるのでメモ

最初の最初

mkdir myproject
cd myproject
djando-admin startproject config .

これは、プロジェクト名とコンフィグディレクトリの名前重複を避けるために、プロジェクトフォルダは明示的にmkdirし、中でstartprojectを呼ぶ。configでconfigフォルダができる。ピリオドを忘れないこと。

次にアプリの作成。プロジェクトルート(myproject直下)にて

mkdir apps
cd apps
django-admin startapp myapp

これは、複数できるかもしれないアプリ群をappsディレクトリ下にまとめるための方法。

ただし、のちのちsettings.pyでのINSTALLED_APPSの記述のために、アプリごとに下準備が必要。

まず、アプリごとに自動生成される“apps.py”の“name”の箇所を、下記のように“apps.myapp”と参照名を変更する。

from django.apps import AppConfig
class MyappConfig(AppConfig):
    default_auto_field = "django.db.models.BigAutoField"
    name = "apps.myapp" #"apps."を付加

また、アプリの“init.py” を下記のように修正する。

from .apps import MyappConfig as myapp # 空ファイルの__init__.pyにこの行を付加

以上の下準備で、INSTALLED_APPSでは以下のように書ける。

# Application definition
INSTALLED_APPS = [
    "apps.myapp", # これで参照できる
    "django.contrib.admin",
    ...

INSTALLED_APPSについての超大事な話

https://jumpyoshim.hatenablog.com/entry/order-of-installed-apps-with-django-is-important

  • INSTALLED_APPS は最初にリストされているアプリケーションのソースコードが優先される
  • INSTALLED_APPS は ローカルアプリケーション・サードパーティアプリケーション・Djangoアプリケーション という順番にしたほうがよい

bootstrapの適用

下記のモジュールがある

  • crispy-bootstrap5 (crispy-formsに依存。勝手にインストールすると思う)
  • django-bootstrap5

テンプレート修正に際して

django-widget-tweak というのを使えば、Formクラス内のwidget属性でhtml要素のclassを指定しなくてよくて、テンプレート内でclassの付与ができる(デフォルトではできない)

puput組み込みコメント

templates/django_comments_xtd/comment_tree.html line 6

<div id=“citem.comment.id” class=“comment d-flex container media”>

https://stackoverflow.com/questions/74830927/django-comments-xtd-comments-are-not-nesting

クラスにcontainer mediaを加えれば入れ子にしてくれるらしい(入れ子表示されなくて困っていた・・・)

なお、メールアドレスを入れさえすればformのvalidが通ってコメント変更されるらしい。メアドが「あ」とかだとはねられる。ただ、実際に何か送られるわけではない。保存されるかどうかしらない。

あとは、アイコンとか、小さすぎる字とか、英語を日本語にとか、をスタイルでいじればそれなりにきのうするはず。

はてなブックマークなどのブランドロゴiconをアイコンフォントにしよう https://webru.info/tools/icon-make-font/

ToDoリスト

  • SNSシェアボタンのフォント、テンプレート
  • コメントアバターの対応
  • ナビバー設置
  • 外部フォント使用
  • エンジン実装(OSP)
  • 文献リストもくもく
  • django-comment-xtd組み込みのガイドライン
  • puputカスタマイズのガイドライン
  • コメントフォームの日本語化
resource/django.1714696238.txt.gz · 最終更新: 2024/05/03 00:30 by zzdcbowl

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki