javascript - 预先填充的字段拒绝在服务器 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='Артикул')
...
管理员.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 上,prepopulated_fields 不起作用。我不敢说这可能是由于 static_prod 中的 js 文件。
解决方案
问题出在默认目录中的 js 文件中:
- static_prod/admin/js/ change_form.js : (grp.jQuery) 更改为 (django.jQuery)
- static_prod/admin/js/ prepopulated_init.js : (grp.jQuery) 更改为 (django.jQuery)
不要忘记,在这种情况下,文件的路径在我的项目中。您可能有不同的看法,但问题出在这些 js 文件上。
推荐阅读
- php - 在 mPDF 上呈现 CSS 的问题 - PHP
- javascript - 渲染数据时如何排除特定的 JSON 对象
- javascript - 元素在老一代 iPad 上无法正确显示?
- c# - 没有从类中获取所有字段以使用 SQLBulkTools 插入数据库
- functional-programming - 如何在文本字段中删除和输出新字符串?
- bash - 读取:读取错误:0:资源暂时不可用
- filenames - 由于“文件名或扩展名太长”,nuitka 无法生成可执行文件
- asp.net - 使用 LINQ (VB.NET) 格式化 IEnumerable
- ros - 哪个是在不同 ROS 节点之间发送机器人状态的好方法?
- android - Flutter - 如何在 Checkbox 的动态列表中设置 Checkbox 小部件的状态