PHP前端开发

CollabSphere 部分设置模块化 Django 聊天应用程序

百变鹏仔 3天前 #Python
文章标签 应用程序

嘿开发者!欢迎来到第一个 collabsphere 系列。在这篇文章中,我们将使用模块化架构设置 collabsphere,将我们的应用程序分为不同的组件:用户、房间和聊天。

让我们开始吧!

项目结构和初始设置

设置虚拟环境

# create a folder named `collabsphere`mkdir collasphere cd collasphere# create a new virtual environmentpython -m venv .venv# activate the virtual environment# for windows.venvscriptsctivate# for macos/linuxsource .venv/bin/activate# install required packagespip install django djangorestframework channelspip install python-dotenv  # for environment variables

创建 django 项目

# create a new django projectdjango-admin startproject collabsphere .mkdir appscd apps# create our main chat, users, and room applicationpython manage.py startapp chatpython manage.py startapp userspython manage.py startapp rooms

项目配置

# collabsphere/settings.pyimport osfrom pathlib import pathbase_dir = path(__file__).resolve().parent.parentinstalled_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 modelauth_user_model = 'users.user'# update app directoriesimport syssys.path.insert(0, os.path.join(base_dir, 'apps'))

为我们的依赖项需求创建requirements.txt

# commandpip freeze > requirements.txtasgiref==3.8.1django==5.1.3djangorestframework==3.15.2python-decouple==3.8sqlparse==0.5.2typing_extensions==4.12.2pillow == 11.0.0channels

url 配置

# collabsphere/urls.pyfrom django.contrib import adminfrom django.urls import path, includeurlpatterns = [    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 文档

collabsphere github 链接

这就是今天的全部内容。我们将在下一个系列中见到您!