From 34555a37ad850647b92ee80ed788457db8524f43 Mon Sep 17 00:00:00 2001 From: xiaoma Date: Mon, 2 Feb 2026 22:56:58 +0800 Subject: [PATCH] houtai ok --- backend/shop/admin.py | 4 +++- .../0011_alter_esp32config_model_3d_url.py | 18 ++++++++++++++++++ backend/shop/models.py | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 backend/shop/migrations/0011_alter_esp32config_model_3d_url.py diff --git a/backend/shop/admin.py b/backend/shop/admin.py index dd1cb70..35aac76 100644 --- a/backend/shop/admin.py +++ b/backend/shop/admin.py @@ -22,13 +22,15 @@ class ExternalUploadWidget(forms.URLInput): 'class': 'upload-url-input', 'data-upload-url': upload_url, 'data-accept': accept, - 'style': 'width: 100%; margin-bottom: 5px;', 'readonly': 'readonly', 'placeholder': '上传文件后自动生成URL' }) class Media: js = ('shop/js/admin_upload.js',) + css = { + 'all': ('shop/css/admin_upload.css',) + } class ESP32ConfigAdminForm(forms.ModelForm): class Meta: diff --git a/backend/shop/migrations/0011_alter_esp32config_model_3d_url.py b/backend/shop/migrations/0011_alter_esp32config_model_3d_url.py new file mode 100644 index 0000000..1ffa4cc --- /dev/null +++ b/backend/shop/migrations/0011_alter_esp32config_model_3d_url.py @@ -0,0 +1,18 @@ +# Generated by Django 6.0.1 on 2026-02-02 14:55 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('shop', '0010_alter_esp32config_model_3d_url'), + ] + + operations = [ + migrations.AlterField( + model_name='esp32config', + name='model_3d_url', + field=models.URLField(blank=True, null=True, verbose_name='产品3D模型 (URL)'), + ), + ] diff --git a/backend/shop/models.py b/backend/shop/models.py index 4d0a633..17bae48 100644 --- a/backend/shop/models.py +++ b/backend/shop/models.py @@ -20,7 +20,7 @@ class ESP32Config(models.Model): detail_image = models.ImageField(upload_to='products/details/', blank=True, null=True, verbose_name="详情页长图 (上传)") detail_image_url = models.URLField(blank=True, null=True, verbose_name="详情页长图 (URL)", help_text="如果填写了URL,将优先使用URL") static_image_url = models.URLField(blank=True, null=True, verbose_name="产品静态图 (URL)") - model_3d_url = models.URLField(blank=True, null=True, verbose_name="产品3D模型 (URL)", help_text="请上传包含 .obj 模型文件和 .mtl 材质文件的 .zip 压缩包") + model_3d_url = models.URLField(blank=True, null=True, verbose_name="产品3D模型 (URL)") def __str__(self): return f"{self.name} - ¥{self.price}"