预先填充的字段拒绝在服务器DO上托管的django项目中工作



型号.py

class Product(models.Model):
category = TreeManyToManyField(ProductCategory, blank=True, symmetrical=False, related_name='products',
verbose_name='Категория')
status = models.ForeignKey(ProductStatus, default=None, null=True, blank=True, on_delete=models.CASCADE,
verbose_name='Статус')
name = models.CharField(max_length=200, db_index=True, verbose_name='Наименование товара')
slug = models.SlugField(max_length=200, db_index=True, verbose_name='Уникальная строка')
...
code = models.CharField(max_length=6, db_index=True, default=None, blank=True, verbose_name='Код товара',
help_text='Код товара должен быть 6-значным')
vendor_code = models.CharField(max_length=6, db_index=True, blank=True, default=None, verbose_name='Артикул')
...

admin.py

@admin.register(Product)
class ProductAdmin(admin.ModelAdmin):
save_as = True
inlines = [ProductDetailInline]
fields = ['category', ('name', 'slug'), ('code', 'vendor_code'), 'memory',
'status', ('hot_deal', 'as_new', 'recommended', 'hot_sales'), ('price', 'discount'),
'image', 'description', 'available', 'is_active', ('created', 'updated')]
prepopulated_fields = {'slug': ('name',), 'vendor_code': ('code',)}
...

所有内容在本地项目上都能正常工作,但如果将项目放在服务器DigitalOcean上,则预填充字段将不起作用。恐怕我认为这可能是由于static_prod中的js文件造成的

问题出现在默认目录中的js文件中:

  1. static_prod/admin/js/change_form.js:(grp.jQuery(更改为(django.jQuery(
  2. static/prod/admin/js/prepopulated_init.js:(grp.jQuery(更改为(django.jQuery(

不要忘记,在这种情况下,文件的路径在我的项目中。你可能有不同的看法,但问题出在这些js文件上。

最新更新