Как добавить данные в существующую модель в Django?

В настоящее время я пишу немного о CMS на основе продукта в качестве своего первого проекта.

Вот мой вопрос. Как я могу добавить дополнительные данные (продукты) в мою модель продукта?

Я добавил '/ admin / products / add' в свой urls.py, но я действительно не знаю, что делать дальше. Как мне построить и свое представление, и свой шаблон? Имейте в виду, что я не так уж много знаю Python, и я новичок в Django.

Как я могу сделать все это без использования существующего интерфейса администратора django.

Название вашего вопроса может вводить в заблуждение; модель обычно используется вместо класса модели. Я думаю, что «Как мне создать новый экземпляр модели с помощью представлений» - лучший заголовок.

muhuk 13.01.2009 12:54
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
6
1
3 571
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Следуйте руководству по Django, чтобы настроить «административную» часть приложения. Это позволит вам изменить вашу базу данных.

Настройка администратора Django

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

Эта тема рассматривается в Руководства по Django.

Ответ принят как подходящий

Вам нужно связать свой URL-адрес с Django общий вид create_object и передать ему либо «model» (модель, которую вы хотите создать), либо «form_class» (настраиваемый класс МодельФорма). Существует ряд другие аргументы, которые вы также можете передать, чтобы переопределить поведение по умолчанию.

Пример URLconf для простейшего случая:

from django.conf.urls.defaults import *
from django.views.generic.create_update import create_object

from my_products_app.models import Product

urlpatterns = patterns('',
    url(r'^admin/products/add/$', create_object, {'model': Product}))

Ваш шаблон получит контекстную переменную "form", которую вам просто нужно обернуть в

<form> tag and add a submit button. The simplest working template (by default should go in "my_products_app/product_form.html"):
<form action = "." method = "POST">
  {{ form }}
  <input type = "submit" name = "submit" value = "add">
</form>
<p>Note that your Product model must have a get_absolute_url method, or else you must pass in the post_save_redirect parameter to the view. Otherwise it won't know where to redirect to after save.</p> </form>

Другие вопросы по теме