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

Bahagian CollabSphere Menyediakan Aplikasi Sembang Django Modular

Barbara Streisand
Lepaskan: 2024-11-29 01:33:12
asal
898 orang telah melayarinya

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
Salin selepas log masuk

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


Salin selepas log masuk

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

Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan