Настроить формы каталогов в Django Оскар не работает - PullRequest
0 голосов
/ 12 апреля 2020

Я следовал основным документам для django Оскар. и я пытаюсь добавить в продукт новое поле с именем video_url.

Сначала я добавляю новое поле в модели продуктов, и оно работает нормально. catalog / models.py

from django.db import models

from oscar.apps.catalogue.abstract_models import AbstractProduct

class Product(AbstractProduct):
    video_url = models.URLField(null=True, blank=True)

from oscar.apps.catalogue.models import *

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

панель инструментов / caralogue / forms.py

from oscar.apps.dashboard.catalogue.forms import ProductForm as CoreProductForm

class ProductForm(CoreProductForm):
    class Meta(CoreProductForm.Meta):
        fields = ['title', 'upc', 'description', 'is_public', 'is_discountable', 'structure', 'video_url']

myproject / settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 'dashboard.catalogue',

    # Oscar
    'django.contrib.sites',
    'django.contrib.flatpages',

    'oscar',
    'oscar.apps.analytics',
    'oscar.apps.checkout',
    'oscar.apps.address',
    'oscar.apps.shipping',

    # My Catalogue
    'catalogue.apps.CatalogueConfig',
    # 'oscar.apps.catalogue',
    'oscar.apps.catalogue.reviews',
    'oscar.apps.partner',
    'oscar.apps.basket',
    'oscar.apps.payment',
    'oscar.apps.offer',
    'oscar.apps.order',
    'oscar.apps.customer',
    'oscar.apps.search',
    'oscar.apps.voucher',
    'oscar.apps.wishlists',
    'oscar.apps.dashboard',
    'oscar.apps.dashboard.reports',
    'oscar.apps.dashboard.users',
    'oscar.apps.dashboard.orders',

    # My Catalogue dashboard
    'dashboard.catalogue.apps.CatalogueDashboardConfig',
    # 'oscar.apps.dashboard.catalogue',
    'oscar.apps.dashboard.offers',
    'oscar.apps.dashboard.partners',
    'oscar.apps.dashboard.pages',
    'oscar.apps.dashboard.ranges',
    'oscar.apps.dashboard.reviews',
    'oscar.apps.dashboard.vouchers',
    'oscar.apps.dashboard.communications',
    'oscar.apps.dashboard.shipping',

    # 3rd-party apps that oscar depends on
    'widget_tweaks',
    'haystack',
    'treebeard',
    'sorl.thumbnail',
    'django_tables2',
]

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Вам нужно форкнуть основное приложение панели инструментов (oscar.apps.dashboard), прежде чем вы сможете форкировать любое из его подпрограмм (oscar.apps.dashboard.catalogue) - вот почему загрузка динамического c в настоящее время не работает.

Это примечание было добавлено в документацию , но еще не попало на readthedocs.com.

0 голосов
/ 13 апреля 2020

ваш файл app.py должен быть

   import oscar.apps.dashboard.catalogue.apps as apps


   class CatalogueDashboardConfig(apps.CatalogueDashboardConfig):
        name = 'yourappsfolder.dashboard.catalogue'
...