Я новичок в django и python и пытаюсь выяснить, как изменить существующее приложение для запуска нескольких магазинов через один домен.
Промежуточное программное обеспечение сайтов Django кажется неуместным в данном конкретном случае, поскольку оно управляет разными доменами, а не сайтами, проходящими через один и тот же домен, например, : domain.com/uk domain.com/us domain.com/es и т. д.
Каждому сайту понадобится переведенный контент - и незначительные изменения шаблона. Решение должно быть достаточно гибким, чтобы можно было легко изменять шаблоны.
Формы также должны немного отличаться, например, незначительные отклонения в полях и проверка для каждого магазина конкретной страны.
Я думаю, что решение будет следующим, и мне бы хотелось получить отзывы от опытных джангоеров:
Вкратце: та же кодовая база, но отдельные файлы URL для конкретной страны, отдельные шаблоны и отдельная база данных
Создание класса промежуточного программного обеспечения, который выполняет локализацию IP, определяет страну на основе URL-адреса и создает соединение с базой данных, например, / au / будет указывать на конкретную базу данных au и так далее.
в корне urls.py есть маршруты, которые указывают на отдельный файл маршрутизации, специфичный для страны, например ... 1019 *
* * 1 022 (г '^ аи /', включают в себя ( 'urls_au')),
(Г '^' ES /, включают в себя ( 'urls_es')), * +1023 *
использовать один каталог шаблонов, но в этом каталоге есть локализованная структура каталогов, например /base.html и /uk/base.html и напишите пользовательский загрузчик шаблонов, который сначала ищет локальные шаблоны. (или иметь отдельный каталог для каждого магазина и установить путь к каталогу шаблона в промежуточном программном обеспечении)
использовать интернационализацию django для управления строками перевода по всему
небольшие отклонения в формах и моделях (например, у ZA есть поле идентификатора, во Франции - «код двери» и «пол» и т. Д.) Я не уверен, как обрабатывать эти варианты, но я подозреваю, что таблицы будут содержать все поля но допускает пустые значения, и модель будет иметь все поля, кроме пустых. Формы будут немного изменены для каждого магазина.
В любом случае, я хочу получить отзывы о том, как лучше всего реализовать это решение для нескольких сайтов. Кажется, что это сработает, но кажется немного «хакерским», и мне интересно, есть ли более элегантный способ заставить это решение работать.
Спасибо,
imanc