CollabSphere 部分设置模块化 Django 聊天应用程序
嘿开发者!欢迎来到第一个 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 链接
这就是今天的全部内容。我们将在下一个系列中见到您!