【问题标题】:Not uploading image(django-wysiwyg-redactor)不上传图片(django-wysiwyg-redactor)
【发布时间】:2014-12-04 20:03:18
【问题描述】:

我下载了django-wysiwyg-redactor

并按照有关如何使用它的说明进行操作。 但是当我选择要上传的图片时,它不会上传。没有错误。 它有什么问题?

这是我的文章模型: 从 django.db 导入模型 从 redactor.fields 导入 RedactorField

在这里创建您的模型。

class Article(models.Model):
    class Meta():
        db_table = 'article'

    article_title = models.CharField(max_length=200)
    article_text = RedactorField(
        verbose_name=u'Text',
        redactor_options={'lang': 'en', 'focus': 'true'},
        upload_to='tmp/',
        allow_file_upload=True,
        allow_image_upload=True
    )
    article_date = models.DateTimeField()
    article_likes = models.IntegerField(default=0)

admin.py

from django.contrib import admin
from redactor.widgets import RedactorEditor
from article.models import Article
from django import forms

class EntryAdminForm(forms.ModelForm):
    class Meta:
        model = Article
        widgets = {
           'article_text': RedactorEditor(),
        }

class EntryAdmin(admin.ModelAdmin):
    form = EntryAdminForm
    fields = ['article_title', 'article_text', 'article_date']

admin.site.register(Article, EntryAdmin)

最后一行代码:admin.site.register(Article, EntryAdmin) 稍作改动,因为如指令所说,它必须是admin.site.register(EntryAdminForm, EntryAdmin),但在这种情况下,会出现错误:'ModelFormMetaclass' object is not iterable

【问题讨论】:

    标签: django django-admin wysiwyg


    【解决方案1】:

    不要在 EntryAdminForm 上指定小部件。 RedactorField 将生成具有正确配置的小部件。

    class EntryAdminForm(forms.ModelForm):
        class Meta:
            model = Article
    

    【讨论】:

    • 如果我不使用 EntryAdminForm 类,我需要什么?因为当我写 admin.site.register(EntryAdminForm, EntryAdmin) 时会导致错误。
    • 没有像您发布的代码那样使用:admin.site.register(Article, EntryAdmin)。正如我所见,您可以删除EntryAdminForm,因为它与Django自动生成的相同
    • 为什么图片不上传呢?我选择图像,但加载时间过长而没有结果。也许我写错了保存图片的路径?
    【解决方案2】:

    这是我的工作原理

    models.py

    from redactor.fields import RedactorField
    

    在我的模型中

    text = RedactorField(verbose_name=u'Text')
    

    settings.py

    INSTALLED_APPS = (
    'redactor',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
    )
    
    REDACTOR_OPTIONS = {'lang': 'en'}
    REDACTOR_UPLOAD = 'static/'
    

    urls.py

    url(r'^redactor/', include('redactor.urls')),
    

    admin.py

    from django import forms
    from redactor.widgets import RedactorEditor
    
    class EntryAdminForm(forms.ModelForm):
    class Meta:
        model = Post
        widgets = {
           'text': RedactorEditor(),
        }
        fields = '__all__'
    
    class EntryAdmin(admin.ModelAdmin):
        form = EntryAdminForm
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-06
      • 1970-01-01
      • 2016-01-03
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多