ホームページ > バックエンド開発 > Python チュートリアル > CollabSphere パート モジュラー Django チャット アプリケーションのセットアップ

CollabSphere パート モジュラー Django チャット アプリケーションのセットアップ

Barbara Streisand
リリース: 2024-11-29 01:33:12
オリジナル
896 人が閲覧しました

CollabSphere Part Setting Up a Modular Django Chat Application

開発者の皆さん!最初の CollabSphere シリーズへようこそ。この投稿では、モジュール型アーキテクチャで CollabSphere をセットアップし、アプリケーションをユーザー、ルーム、チャットなどの個別のコンポーネントに分割します。

飛び込んでみましょう!

プロジェクトの構造と初期セットアップ

仮想環境のセットアップ

# create a folder named `CollabSphere`
mkdir CollaSphere 
cd CollaSphere

# Create a new virtual environment
python -m venv .venv

# Activate the virtual environment
# For Windows
.venv\Scripts\activate
# For macOS/Linux
source .venv/bin/activate

# Install required packages
pip install django djangorestframework channels
pip install python-dotenv  # for environment variables
ログイン後にコピー

django プロジェクトの作成

# Create a new Django project
django-admin startproject collabsphere .
mkdir apps
cd apps

# Create our main chat, users, and room application
python manage.py startapp chat
python manage.py startapp users
python manage.py startapp rooms


ログイン後にコピー

プロジェクト構成

# collabSphere/settings.py

import os
from pathlib import Path

BASE_DIR = Path(__file__).resolve().parent.parent

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # Third-party apps
    'rest_framework',
    'channels',

    # Local apps
    'apps.users.apps.UsersConfig',
    'apps.rooms.apps.RoomsConfig',
    'apps.chat.apps.ChatConfig',
]

# Custom user model
AUTH_USER_MODEL = 'users.User'

# Update app directories
import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

ログイン後にコピー

依存関係要件のrequirements.txtを作成しています

# command
pip freeze > requirements.txt


asgiref==3.8.1
Django==5.1.3
djangorestframework==3.15.2
python-decouple==3.8
sqlparse==0.5.2
typing_extensions==4.12.2
pillow == 11.0.0
channels
ログイン後にコピー

URL 設定

# collabSphere/urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('apps.users.urls')),
    path('rooms/', include('apps.rooms.urls')),
    path('chat/', include('apps.chat.urls')),
]


This will be our path to our applications
ログイン後にコピー

プロジェクトの組織

最終的なプロジェクト構造は次のとおりです:

CollabSphere/
├── apps/
│   ├── users/
│   │   ├── migrations/
│   │   ├── __init__.py
│   │   ├── admin.py
│   │   ├── apps.py
│   │   ├── forms.py
│   │   ├── models.py
│   │   ├── urls.py
│   │   └── views.py
│   ├── rooms/
│   │   ├── migrations/
│   │   ├── __init__.py
│   │   ├── admin.py
│   │   ├── apps.py
│   │   ├── models.py
│   │   ├── urls.py
│   │   └── views.py
│   └── chat/
│       ├── migrations/
│       ├── __init__.py
│       ├── admin.py
│       ├── apps.py
│       ├── consumers.py
│       ├── models.py
│       ├── urls.py
│       └── views.py
├── collabSphere/
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── static/
├── docs/
├── tests/
├── manage.py
└── requirements.txt
ログイン後にコピー

この構造の主な利点

  • 懸念事項の分離: 各アプリがその特定の機能を処理します
  • 保守性: コードの保守とデバッグが容易になります
  • スケーラビリティ: 新しい機能を簡単に追加したり、既存の機能を変更したりできます
  • 再利用性: アプリは他のプロジェクトで再利用できます
  • テスト: テストの作成と編成が簡単になりました

次のステップ

次の投稿では、次のことについて説明します。

  • ユーザーモデル (Django の AbstractUser を拡張)
  • カスタムユーザー登録
  • ログイン/ログアウトビュー
  • ユーザープロフィール

リソース

Django ドキュメント

コラボスフィア github リンク

今日はここまでです。次のシリーズでお会いしましょう!

以上がCollabSphere パート モジュラー Django チャット アプリケーションのセットアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート