Heim >Backend-Entwicklung >Python-Tutorial >CollabSphere-Teil Einrichten einer modularen Django-Chat-Anwendung

CollabSphere-Teil Einrichten einer modularen Django-Chat-Anwendung

Barbara Streisand
Barbara StreisandOriginal
2024-11-29 01:33:12964Durchsuche

CollabSphere Part Setting Up a Modular Django Chat Application

Hey Entwickler! Willkommen zur ersten CollabSphere-Reihe. In diesem Beitrag richten wir CollabSphere mit einer modularen Architektur ein und unterteilen unsere Anwendung in verschiedene Komponenten: Benutzer, Räume und Chat.

Lass uns eintauchen!

Projektstruktur und Ersteinrichtung

Einrichten der virtuellen Umgebung

# 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-Projekt erstellen

# 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


Projektkonfiguration

# 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'))

Anforderungen.txt für unsere Abhängigkeitsanforderungen erstellen

# 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-Konfiguration

# 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

Projektorganisation

Hier ist unsere endgültige Projektstruktur:

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

Hauptvorteile dieser Struktur

  • Trennung der Belange: Jede App verwaltet ihre spezifische Funktionalität
  • Wartbarkeit: Code einfacher zu warten und zu debuggen
  • Skalierbarkeit: Kann problemlos neue Funktionen hinzufügen oder bestehende ändern
  • Wiederverwendbarkeit: Apps können in anderen Projekten wiederverwendet werden
  • Testen: Tests einfacher schreiben und organisieren

Nächste Schritte

Im nächsten Beitrag behandeln wir Folgendes:

  • Benutzermodell (erweitert Djangos AbstractUser)
  • Benutzerdefinierte Benutzerregistrierung
  • Anmelde-/Abmeldeansichten
  • Benutzerprofile

Ressourcen

Django-Dokumentation

collabsphere github link

Das ist alles für heute. Wir sehen uns in unserer nächsten Serie!

Das obige ist der detaillierte Inhalt vonCollabSphere-Teil Einrichten einer modularen Django-Chat-Anwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn