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

StackOverflow https://stackoverflow.com/questions/36812

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

Вы захотите подключить свой URL к Django создать общее представление create_object и передать его либо " model " (модель, которую вы хотите создать) или " 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 ", которую вам просто нужно обернуть в < form > пометить и добавить кнопку отправки. Самый простой рабочий шаблон (по умолчанию он должен быть в & Quot; my_products_app / product_form.html & Quot;):

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top