Rumah >pembangunan bahagian belakang >Tutorial Python >Bahagian CollabSphere Menyediakan Aplikasi Sembang Django Modular

Bahagian CollabSphere Menyediakan Aplikasi Sembang Django Modular

Barbara Streisand
Barbara Streisandasal
2024-11-29 01:33:12964semak imbas

CollabSphere Part Setting Up a Modular Django Chat Application

Hai pembangun! Selamat datang ke siri CollabSphere yang pertama. Dalam siaran ini, kami akan menyediakan CollabSphere dengan seni bina modular, memisahkan aplikasi kami kepada komponen yang berbeza: pengguna, bilik dan sembang.

Jom selami!

Struktur Projek dan Persediaan Awal

Menyediakan Persekitaran Maya

# 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

Mencipta projek 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


Konfigurasi Projek

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

Membuat requirements.txt untuk keperluan kebergantungan kami

# 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

Konfigurasi 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

Organisasi Projek

Inilah struktur projek akhir kami:

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

Faedah Utama Struktur Ini

  • Pemisahan Kebimbangan: Setiap apl mengendalikan fungsi khususnya
  • Kebolehselenggaraan: Lebih mudah diselenggara dan nyahpepijat kod
  • Skalabiliti: Boleh menambah ciri baharu dengan mudah atau mengubah suai ciri sedia ada
  • Kebolehgunaan semula: Apl boleh digunakan semula dalam projek lain
  • Ujian: Lebih mudah untuk menulis dan mengatur ujian

Langkah Seterusnya

Dalam siaran seterusnya, kami akan membincangkan:

  • Model pengguna (memanjangkan AbstractUser Django)
  • Pendaftaran pengguna tersuai
  • Pandangan log masuk/log keluar
  • Profil pengguna

Sumber

Dokumentasi Django

pautan collabsphere github

Itu sahaja untuk hari ini. Kita jumpa lagi dalam siri seterusnya!

Atas ialah kandungan terperinci Bahagian CollabSphere Menyediakan Aplikasi Sembang Django Modular. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn