Как создать многосайтовый django с одной базой данных?
Я хочу создать несколько сайтов на сервере с одной базой данных. Моя структура такова:
main_domain.com/
main_domain.com/website1
main_domain.com/website2
.
.
main_domain.com/website_n
Некоторое содержимое является общим для разных сайтов. Я использую Django 3 Какова наилучшая практика для этого.
Простое использование урлов django кажется достаточно хорошей практикой:
from django.urls import path
urlpatterns = [
path('website1', viwes.website1),
path('website2', viwes.website2),
...
path('website_n', viwes.websiten),
]
В зависимости от того, сколько у вас сайтов и насколько они разные. Вы можете рассмотреть возможность использования 1, 2, ..., n
в качестве параметра запроса, если все страницы используют одно и то же содержание с небольшими изменениями в зависимости от номера:
path('website/<website_id>/', views.website_view),
Затем вы можете получить параметр запроса в вашем представлении следующим образом:
def website_view(request, website_id):
pass
И так передайте website_id
, чтобы изменить содержимое вашего сайта так, как вы хотите. Опять же, это зависит от того, что может понадобиться вашему проекту, первый подход может быть достаточно хорош.