django как переименовать приложение

Как изменить имя приложения Django?

Я изменил имя приложения в Django, переименовав его папку, импорт и все его ссылки (шаблоны/индексы). Но теперь я получаю эту ошибку, когда я пытаюсь запустить python manage.py runserver

Как я могу отладить и решить эту ошибку? Какие-нибудь улики?

5 ответов:

выполните следующие действия, чтобы изменить имя приложения в Django:

другие ссылки: вы также можете обратиться к приведенным ниже ссылкам для более полной картины

New in Django 1.7-это реестр приложений, который хранит конфигурацию и обеспечивает самоанализ. Этот механизм позволяет вам изменить несколько атрибутов приложения.

главное, что я хочу сделать, это то, что переименование приложения не всегда необходимо: с конфигурацией приложения можно разрешить конфликтующие приложения. Но также и путь, если ваше приложение нуждается в дружественном именовании.

в качестве примера я хочу назвать свое приложение для опросов «обратная связь от пользователей». Это звучит так: это:

добавьте конфигурацию приложения по умолчанию в свой polls/__init__.py :

в случае, если вы используете PyCharm и проект перестает работать после переименования:

проблема, удовольствие! Мне скоро придется переименовать много приложений, поэтому я сделал сухой прогон.

этот метод позволяет добиться прогресса в атомарных шагах, чтобы свести к минимуму нарушения для других разработчиков, работающих над приложением, которое вы переименовываете.

см. ссылку в нижней части этого ответа для пример рабочего кода.

изменить ярлык приложения:

запустите raw SQL, чтобы исправить миграции и content_types приложение (к сожалению, некоторые необработанные SQL неизбежны).

убедитесь, что миграция не требуется (проверяет предыдущий шаг).

пример решения: я создал приложения-переименовать-пример, пример проекта, где вы можете увидеть, как я переименовал приложение, по одному фиксации за раз.

в примере используется Python 2.7 и Django 1.8, но я уверен, что тот же процесс будет работать как минимум на Python 3.6 и Django 2.1.

повторно мигрируйте подход для более чистой пластины.

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

Источник

Как поменять имя приложения в админке Django

Здравствуйте, уважаемые коллеги.

Когда-то давно передо мной встала проблема определения имени приложения в админке Django. Как вы знаете, django.contrib.admin выводит в своём интерфейсе англоязычные имена для applications в виде заголовков блоков, в которых, собственно, расположены страницы самих моделей.

image loader

Собственно, увидев такой вариант оформления панели, один из заказчиков попросил хотя бы для основных управляемых элементов (а их было не так уж мало) перевести заголовки на русский язык.

Так начались поиски ответа на вопрос: «Как поменять название приложения в админке Django». Как оказалось, вопрос был не совсем точным, поскольку во фреймворке уже имелось встроенное решение. Документация Django подсказала, что в модели можно переопределить свойство app_label в классе Meta.

У этого метода есть серьёзный недостаток: app_label используется Django ещё и для именования таблиц в базе данных. Так что тут особо не разгуляешься: текст не переведёшь, а ошибка в имени может вызвать долгие романтические отношения с БД.

Решение, которое мне удалось найти — не новое. Оно расположено на code.djangoproject.com. И тут уж я не помню: сам я его допиливал, либо обратился к кому-то за помощью, но в общем, мне удалось получить вот такой сниппет, который я до сих пор вставляю в свои модели:

Работает это дело просто: при создании структуры таблиц используется переменная value, а для получения выводимой метки — title. В процессе работы возникли проблемы с именами таблиц, так что добавилась функция get_raw_name, а также, две переменные, которые позволили не писать имена БД и приложения в каждой модели.

После внедрения такого сниппета, код моделей должен будет выглядеть так:

Итого, мы имеем переопределённое имя приложения и возможность переопределять имя таблицы в базе данных. Второе, кстати, чревато последствиями, поскольку при возникновении связей между таблицами система может рухнуть. Так что, наиболее правильно не прописывать db_table или определять это свойство так, как оно должно выглядеть по-умолчанию.

Источник

Как изменить имя приложения Django?

Я изменил имя приложения в Django, переименовав его папку, импорт и все его ссылки (шаблоны/индексы). Но теперь я получаю эту ошибку, когда пытаюсь запустить python manage.py runserver

Как я могу отладить и решить эту ошибку? Есть зацепки?

5 ответов

выполните следующие действия, чтобы изменить имя приложения в Django:

другие ссылки: вы также можете обратиться к приведенным ниже ссылкам для более полной картины

New In Django 1.7-это реестр приложений, который хранит конфигурацию и обеспечивает самоанализ. Это оборудование позволяет вам изменить несколько атрибутов приложения.

главное, что я хочу сделать, это то, что переименование приложения не всегда необходимо: с конфигурацией приложения можно разрешить конфликтующие приложения. Но и способ пойти, если ваше приложение нуждается в дружественном именовании.

в качестве примера я хочу назвать мое приложение опросов «обратная связь от пользователей». Оно идет как это:

добавьте конфигурацию приложения по умолчанию в свой polls/__init__.py :

в случае, если вы используете PyCharm и проект перестает работать после переименования:

проблема, удовольствие! Скоро мне придется переименовать много приложений, поэтому я сделал сухой прогон.

этот метод позволяет добиться прогресса в атомарных шагах, чтобы свести к минимуму нарушения для других разработчиков, работающих над приложением, которое вы переименовываете.

см. ссылку в нижней части этого ответа для пример рабочего кода.

изменить ярлык приложения:

запустите raw SQL, чтобы исправить миграции и content_types app (к сожалению, некоторые необработанные SQL неизбежны).

убедитесь, что миграция не требуется (проверяет предыдущий шаг).

пример решения: я создал app-переименовать-пример, пример проекта, где вы можете увидеть, как я переименовал приложение, по одному фиксации за раз.

в примере используется Python 2.7 и Django 1.8, но я уверен, что тот же процесс будет работать как минимум на Python 3.6 и Django 2.1.

перенастройка подхода для более чистой пластины.

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

Источник

Как изменить имя приложения Django?

Я изменил название приложения в Django, переименовав его папку, импортировав все ссылки (шаблоны/индексы). Но теперь я получаю эту ошибку при попытке запустить python manage.py runserver

Как я могу отладить и устранить эту ошибку? Есть какие-нибудь подсказки?

Выполните следующие действия, чтобы изменить имя приложения в Django:

Другие ссылки: Вы также можете обратиться по ссылкам ниже для более полной картины

Главное, что я хочу сделать, это то, что переименование приложения не всегда необходимо: с помощью конфигурации приложения можно разрешать конфликтующие приложения. Но также и путь, если ваше приложение требует дружественных имен.

В качестве примера я хочу назвать свое приложение для опросов «Обратная связь с пользователями». Это выглядит так:

Создайте файл apps.py в каталоге polls :

Добавьте конфигурацию приложения по умолчанию в свой polls/__init__.py :

Если вы используете PyCharm и проект перестает работать после переименования:

Забавная проблема! Мне скоро придется переименовать много приложений, поэтому я пробовал.

Этот метод позволяет продвигаться в элементарных шагах, чтобы минимизировать сбои для других разработчиков, работающих над приложением, которое вы переименовываете.

См. Ссылку внизу этого ответа для рабочего примера кода.

Изменить ярлык приложения :

Запустите сырой SQL, чтобы исправить миграции и приложение content_types (к сожалению, некоторый сырой SQL неизбежен). Вы не можете запустить это в процессе миграции.

Убедитесь, что миграция не требуется (проверяет предыдущий шаг).

В примере используются Python 2.7 и Django 1.8, но я уверен, что тот же процесс будет работать как минимум на Python 3.6 и Django 2.1.

Повторно мигрируйте подход для более чистой пластины.

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

Источник

Как изменить название приложения Django?

Я изменил название приложения в Django, переименовав его папку, импортировав все ссылки (шаблоны / индексы). Но теперь я получаю эту ошибку, когда пытаюсь запустить python manage.py runserver

Как я могу отладить и устранить эту ошибку? Есть какие-нибудь подсказки?

4 ответа

Если вы используете PyCharm и проект перестает работать после переименования:

Почему бы просто не использовать опцию «Найти и заменить». (у каждого редактора кода есть)?

Например, код Visual Studio (в разделе «Изменить»):

fuzag

Вы просто вводите старое имя и новое имя и заменяете все в проекте одним щелчком мыши.

Главное, что я хочу сделать, это то, что переименование приложения не всегда необходимо: с помощью конфигурации приложения можно разрешать конфликтующие приложения. Но также и путь, если ваше приложение требует дружественных имен.

В качестве примера я хочу назвать свое приложение для опросов «Обратная связь с пользователями». Это выглядит так:

Создайте файл apps.py в каталоге polls :

Добавьте конфигурацию приложения по умолчанию в ваш polls/__init__.py :

Повторно мигрируйте подход для более чистой пластины.

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

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • django как добавить приложение
  • django добавить приложение в проект