$ pip install escalated-djangoフレームワークネイティブ
なぜDjangoにEscalatedか
Djangoプロジェクトの一部のように感じるよう構築 — 後付けではなく。
Django ORMモデル
チケット、返信、タグ、アクティビティはDjangoモデル。プロジェクトの他のモデルと同様にクエリセット、マネージャー、完全なORMを使用。
管理コマンド
python manage.pyコマンドで設定インストール、マイグレーション実行、データシード、チケット管理。
管理画面統合
Django AdminにEscalatedモデルをデフォルトで登録。管理パネルからチケット、ユーザー、設定を表示・管理。
始めましょう
仕組み
pip installからライブサポートチケットまで3ステップ。
パッケージをインストール
pip install escalated-djangoINSTALLED_APPSに追加
INSTALLED_APPSに'escalated'を追加し、python manage.py migrateを実行
URLを含める
urlpatternsにpath('support/', include('escalated.urls'))を追加すれば稼働。
機能
必要なすべて
EscalatedはDjangoエコシステムと深く統合。
Django ORMクエリセット
チケットは標準のDjangoクエリセットを使用。ORMの全パワーでフィルタ、アノテーション、集約、クエリチェーン。
Celeryタスクキュー
メール通知とWebhookディスパッチはCeleryタスクとして実行。既存のブローカーを使用 — Redis、RabbitMQ、または任意のCeleryバックエンド。
パーミッションクラス
認可はDjangoのパーミッションフレームワークを使用。ユーザーとグループにパーミッションを割り当ててチケットと管理機能へのアクセスを制御。
Djangoシグナル
すべてのチケットアクションがDjangoシグナルを発信。ticket_created、reply_added、status_changedなどにレシーバーを接続。
ミドルウェアサポート
既存のミドルウェアをEscalatedビューに適用。認証、CSRF、テナントスコーピングが期待通りに動作。
テストフィクスチャーとファクトリー
factory_boyファクトリーとフィクスチャー付き。馴染みのパターンでpytest-djangoまたはDjangoのTestCaseでテストを記述。
実際に見る
Djangoのように感じる
標準のDjangoパターン。新しい抽象化を学ぶ必要なし。
# urls.py from django.urls import path, include urlpatterns = [ path('support/', include('escalated.urls')), ] # models.py from escalated.mixins import HasTickets class User(HasTickets, AbstractUser): pass # Anywhere in your application ticket = user.tickets.create( subject='Need help with billing', priority='high', ) ticket.replies.create( body="We've updated your invoice.", user=agent, )