Django cms на русском: Блог Алексея Кутепова: Создание сайта на DjangoCMS

Ошибка миграции django-cms — Stack Overflow на русском

Создал таблицу doctors которая обращается к модели Title в django-cms. При миграции на сервере происходит ошибка которая в текстовом виде ниже. Много гуглил, ничего не помогло.
Я могу удалить все миграции из папки migrations и запустить makemigrations и оно сработает, но проблема в том что при изменении таблицы потом миграции не будут применяться.
Вот возникает вопрос, как я могу поправить данную ошибку что бы каждый раз не удалять миграции и не сбрасывать БД.

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
    self. fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/core/management/base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/core/management/base.py", line 89, in wrapped
    res = handle_func(*args, **kwargs)
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 92, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3. 8/site-packages/django/db/migrations/loader.py", line 53, in __init__
    self.build_graph()
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/db/migrations/loader.py", line 259, in build_graph
    self.graph.validate_consistency()
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/db/migrations/graph.py", line 195, in validate_consistency
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/db/migrations/graph.py", line 195, in <listcomp>
    [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
  File "/home/user/Рабочий стол/backend-clinic/venv/lib/python3.8/site-packages/django/db/migrations/graph.py", line 58, in raise_error
    raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration doctors. 0001_initial dependencies reference nonexistent parent node ('cms', '0023_auto_20211110_1234')

Немного разобрался с этой проблемой. Миграция под номером 0023 создается при создании миграций таблиц в которых есть ForeignKey на таблицу из django-cms, как решить эту проблему пока нет мысли. Жду вашей помощи.

-rw-rw-r-- 1 user user 10853 ноя 15 17:30 0001_initial.py
-rw-rw-r-- 1 user user  8719 ноя 15 17:30 0002_auto_20140816_1918.py
-rw-rw-r-- 1 user user   389 ноя 15 17:30 0003_auto_20140926_2347.py
-rw-rw-r-- 1 user user  1355 ноя 15 17:30 0004_auto_20140924_1038.py
-rw-rw-r-- 1 user user  4844 ноя 15 17:30 0005_auto_20140924_1039.py
-rw-rw-r-- 1 user user  1853 ноя 15 17:30 0006_auto_20140924_1110.py
-rw-rw-r-- 1 user user   378 ноя 15 17:30 0007_auto_20141028_1559.py
-rw-rw-r-- 1 user user   394 ноя 15 17:30 0008_auto_20150121_0059.py
-rw-rw-r-- 1 user user   419 ноя 15 17:30 0008_auto_20150208_2149.py
-rw-rw-r-- 1 user user   224 ноя 15 17:30 0009_merge. py
-rw-rw-r-- 1 user user  3223 ноя 15 17:30 0010_migrate_use_structure.py
-rw-rw-r-- 1 user user   651 ноя 15 17:30 0011_auto_20150419_1006.py
-rw-rw-r-- 1 user user   823 ноя 15 17:30 0012_auto_20150607_2207.py
-rw-rw-r-- 1 user user   546 ноя 15 17:30 0013_urlconfrevision.py
-rw-rw-r-- 1 user user  1363 ноя 15 17:30 0014_auto_20160404_1908.py
-rw-rw-r-- 1 user user   391 ноя 15 17:30 0015_auto_20160421_0000.py
-rw-rw-r-- 1 user user   773 ноя 15 17:30 0016_auto_20160608_1535.py
-rw-rw-r-- 1 user user  1988 ноя 15 17:30 0017_pagetype.py
-rw-rw-r-- 1 user user  3490 ноя 15 17:30 0018_create_pagenode.py
-rw-rw-r-- 1 user user  3189 ноя 15 17:30 0019_set_pagenode.py
-rw-rw-r-- 1 user user  2730 ноя 15 17:30 0020_old_tree_cleanup.py
-rw-rw-r-- 1 user user   427 ноя 15 17:30 0021_auto_20180507_1432.py
-rw-rw-r-- 1 user user   810 ноя 15 17:30 0022_auto_20180620_1551.py
-rw-rw-r-- 1 user user  2384 ноя 15 17:37 0023_auto_20211115_1737.py
-rw-rw-r-- 1 user user   395 ноя 15 17:30 __init__.py
drwxrwxr-x 2 user user  4096 ноя 15 17:30 __pycache__
-rw-r--r-- 1 root root 10853 Nov 15 17:36 0001_initial. py
-rw-r--r-- 1 root root  8719 Nov 15 17:36 0002_auto_20140816_1918.py
-rw-r--r-- 1 root root   389 Nov 15 17:36 0003_auto_20140926_2347.py
-rw-r--r-- 1 root root  1355 Nov 15 17:36 0004_auto_20140924_1038.py
-rw-r--r-- 1 root root  4844 Nov 15 17:36 0005_auto_20140924_1039.py
-rw-r--r-- 1 root root  1853 Nov 15 17:36 0006_auto_20140924_1110.py
-rw-r--r-- 1 root root   378 Nov 15 17:36 0007_auto_20141028_1559.py
-rw-r--r-- 1 root root   394 Nov 15 17:36 0008_auto_20150121_0059.py
-rw-r--r-- 1 root root   419 Nov 15 17:36 0008_auto_20150208_2149.py
-rw-r--r-- 1 root root   224 Nov 15 17:36 0009_merge.py
-rw-r--r-- 1 root root  3223 Nov 15 17:36 0010_migrate_use_structure.py
-rw-r--r-- 1 root root   651 Nov 15 17:36 0011_auto_20150419_1006.py
-rw-r--r-- 1 root root   823 Nov 15 17:36 0012_auto_20150607_2207.py
-rw-r--r-- 1 root root   546 Nov 15 17:36 0013_urlconfrevision.py
-rw-r--r-- 1 root root  1363 Nov 15 17:36 0014_auto_20160404_1908.py
-rw-r--r-- 1 root root   391 Nov 15 17:36 0015_auto_20160421_0000. py
-rw-r--r-- 1 root root   773 Nov 15 17:36 0016_auto_20160608_1535.py
-rw-r--r-- 1 root root  1988 Nov 15 17:36 0017_pagetype.py
-rw-r--r-- 1 root root  3490 Nov 15 17:36 0018_create_pagenode.py
-rw-r--r-- 1 root root  3189 Nov 15 17:36 0019_set_pagenode.py
-rw-r--r-- 1 root root  2730 Nov 15 17:36 0020_old_tree_cleanup.py
-rw-r--r-- 1 root root   427 Nov 15 17:36 0021_auto_20180507_1432.py
-rw-r--r-- 1 root root   810 Nov 15 17:36 0022_auto_20180620_1551.py
-rw-r--r-- 1 root root  2384 Nov 10 12:34 0023_auto_20211110_1234.py
-rw-r--r-- 1 root root   395 Nov 15 17:36 __init__.py
drwxr-xr-x 2 root root  4096 Nov 15 17:36 __pycache__

Django | Статические файлы

Последнее обновление: 16.08.2022

Веб-приложение, как правило, использует различные статические файлы — изображения, файлы стилей css, скриптов javascript и так далее. Рассмотрим, как мы можем
использовать подобые файлы.

При создании проекта Django он уже имеет некоторую базовую настройку для работы со статическими файлами. В частности, в файле settings.py
определена переменная STATIC_URL, которая хранит путь к каталогу со статическими файлами:


STATIC_URL = 'static/'

А среди установленных приложений в переменной INSTALLED_APPS указано приложение django.contrib.staticfiles


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'hello',
]

Переменная STATIC_URL имеет значение «static/», а это значит, что нам достаточно создать в папке приложения каталог с именем «static»
и добавить в него необходимые нам статические файлы. Но, естественно, при необходимости через данную настройку мы можем изменим расположение каталога статических файлов.

Итак, добавим в папку приложения новый каталог static.
Чтобы не сваливать все статические файлы в кучу, определим для каждого типа файлов отдельные папки. В частности, создадим в папке static для изображений каталог images, а для стилей — каталог
css. Подобным образом можно создавать папки и для других типов файлов.

В папку static/images добавим какое-нибудь изображение — в моем случае это будет файл forest.jpg. А в папке static/css определим новый
файл styles.css, который будет иметь какие-нибудь простейшие стили, например:


body{ font-family: Verdana;}
h2{color:navy;}
img{width:350px;}

Теперь используем эти файлы в шаблоне. Для этого в начале файла шаблона необходимо определить инструкцию

{% load static %}

При этом данный код должен идти после тега DOCTYPE.

Для определения пути к статическим файлам используются выражения типа

{% static "путь к файлу внутри папки static" %}

Так, пусть в приложении в папке templates определен шаблон index.html, который имеет следующий код:


<!DOCTYPE html>
{% load static %}
<html>
<head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="{% static "css/styles. css" %}" />
    <title>Django на METANIT.COM</title>
</head>
<body>
    <h2>Зимний лес</h2>
    <img src="{% static "images/forest.jpg" %}" alt="зимний лес" >
</body>
</html>

При запуске приложения шабон index.html будет генерироваться в следующую веб-страницу, которая будет использовать изображение и применять стили:

Настройка путей к файлам

Если нам не устраивает храние файлов в каталоге по умолчанию — каталоге static, либо мы хотим указать несколько папок, то мы можем
в файле settings.py задать все необходимые каталоги с помощью переменной STATICFILES_DIRS,
которая принимает список путей:


STATICFILES_DIRS = [
    BASE_DIR / "static",
    "/var/www/static/",
    "/somefolder/"
]

НазадСодержаниеВперед

python — Как добавить поддержку русского языка в Django CMS?

спросил

Изменено
2 года, 5 месяцев назад

Просмотрено
486 раз

Я установил Django CMS по инструкции http://docs. django-cms.org/en/latest/introduction/01-install.html, но в интерфейсе вижу только английский язык.

Я просмотрел документы http://docs.django-cms.org/en/latest/reference/configuration.html#i18n-l10n-reference, добавил переменные ru в LANGUAGES и CMS_LANGUAGES в settings.py , в селекторе интерфейса появился русский язык, но когда я его выбираю, он возвращается к английскому и показывает "[15/Feb/2019 15:06:19] "GET /ru/ HTTP/1.0" 302 0" в журнале.

Вот связанные с языком части моего settings.py :

 ...
LANGUAGE_CODE = 'ru'
...
ЯЗЫКИ = (
    ## Настроить это
    ('en', получить текст('en')),
    ('ru', gettext('ru'))
)
CMS_LANGUAGES = {
    ## Настроить это
    1: [
        {
            'код': 'en',
            'имя': gettext('en'),
            'redirect_on_fallback': правда,
            «публичный»: правда,
            'hide_untranslated': Ложь,
        },
        {
            'код': 'ru',
            'имя': gettext('ru'),
            «запасной вариант»: ['en'],
            «публичный»: правда,
        },
    ],
    'По умолчанию': {
        'redirect_on_fallback': правда,
        «публичный»: правда,
        'hide_untranslated': Ложь,
    },
}
. ..
 

Может ли кто-нибудь помочь мне перевести установку Django CMS?

  • python
  • django
  • система управления контентом
  • django-cms

2

Обычно необходимо изменить на:
изменения

И сохранить. ))

1

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

django — Djando CMS с USE_I18N = False

спросил

Изменено
8 лет, 4 месяца назад

Просмотрено
2к раз

У меня есть проект Django-CMS на русском языке. Я хочу отключить локализацию URL-адресов и переключатель языка. Я могу сделать это с помощью настроек USE_I18N = Ложь . Работает, но… Перевод шаблона стал английский, а не русский. Мой пользователь имеет язык ru , а настройки django выглядят так:

 LANGUAGE_CODE = 'ru'
ЯЗЫКИ = (
    ('ру', gettext('ру')),
)
 

Как принудительно установить язык по умолчанию для панели инструментов и других шаблонов?

  • django
  • локализация
  • интернационализация
  • шаблоны django
  • django-cms

1

Это было мое плохое понимание того, как работает локализация Django

https://docs.djangoproject.com/en/1.6/topics/i18n/#definitions

Слова «интернационализация» и «локализация» часто вызывают
спутанность сознания; вот упрощенное определение:

интернационализация Подготовка программного обеспечения к локализации. Как правило
сделано разработчиками.
локализация Написание переводов и местных
форматы. Обычно это делают переводчики.

И предупреждение об именах переменных настроек

Перевод и форматирование контролируются USE_I18N и USE_L10N
настройки соответственно. Однако обе функции предполагают
интернационализация и локализация. Названия настроек
неудачный результат истории Джанго.

Таким образом, если вы отключите i18n, ваше веб-приложение не будет переведено

https://docs.djangoproject.com/en/1.6/ref/settings/#std:setting-USE_I18N

Если установлено значение False, Django выполнит некоторые оптимизации, чтобы
загрузить механизм перевода.

Чтобы отключить локализованные URL-адреса, отредактируйте свой urls.py , чтобы использовать django.conf.urls.patterns вместо django.conf.urls.i18n.i18n_patterns , Капитан Очевидность сказал.