Как добавить данные в существующую модель в Django? - PullRequest
3 голосов
/ 31 августа 2008

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

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

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

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

Ответы [ 3 ]

7 голосов
/ 31 августа 2008

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

Пример 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», которую нужно просто обернуть в тег и добавить кнопку отправки. Самый простой рабочий шаблон (по умолчанию должен идти в «my_products_app / product_form.html»):

<form action="." method="POST">
  {{ form }}
  <input type="submit" name="submit" value="add">
</form>

Обратите внимание, что ваша модель Продукта должна иметь метод get_absolute_url, иначе вы должны передать параметру post_save_redirect в представление. В противном случае он не будет знать, куда перенаправить после сохранения.

0 голосов
/ 31 августа 2008

Эта тема освещена в Учебниках по Django .

0 голосов
/ 31 августа 2008

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...