首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-ckeditor 404错误

Django-ckeditor 404错误
EN

Stack Overflow用户
提问于 2020-06-10 19:19:50
回答 1查看 491关注 0票数 0

我在使用django-ckeditor时收到几个404错误。

This is what my static folder looks like

第一个是位于static/boot/ckeditor/ckeditorckeditor.js文件,我收到的错误如下:"GET /static/ckeditor.js HTTP/1.1" 404 1657

下面,我收到了一些关于文件夹中实际存在的其他文档的错误信息:

代码语言:javascript
复制
"GET .../AGAPE/static/boot/ckeditor/ckeditor/config.js?t=JB9C HTTP/1.1" 404 2494

"GET .../AGAPE/static/boot/ckeditor/ckeditor/skins/moono-lisa/editor.css?t=JB9C HTTP/1.1" 404 2548

"GET .../AGAPE/static/boot/ckeditor/ckeditor/lang/nl.js?t=JB9C HTTP/1.1" 404 2497

对于最后三个,我认为错误是由文件名末尾添加的字符引起的,例如?t=JB9C,但我不明白为什么要添加这些字符。

另外,我的settings.py文件:

代码语言:javascript
复制
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/boot/')
STATIC_FILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
    os.path.join(BASE_DIR, 'boot'),]

MEDIA_ROOT=os.path.join(os.path.dirname(BASE_DIR), 'media')
MEDIA_URL="/media/"

CKEDITOR_BASEPATH = os.path.join(os.path.dirname(STATIC_ROOT), 'ckeditor/ckeditor/')

CKEDITOR_UPLOAD_PATH = "uploads/"
CKEDIT_IMAGE_BACKEND = 'pillow'

CKEDITOR_CONFIGS = {
   'default': {
        'toolbar':[ ['CodeSnippet', ], ],
        'height': 400,
        'width': 900,
        'removePlugins': 'stylesheetparser',
        'extraPlugins': 'codesnippet',
   },
}

和相关的models.py文件(在相关的应用程序中):

代码语言:javascript
复制
from django.db import models
from django.contrib.auth.models import User
from ckeditor_uploader.fields import RichTextUploadingField
from ckeditor.fields import RichTextField

STATUS = (
    (0,"Draft"),
    (1,"Publish")
)

class Post(models.Model):
    title = models.CharField(max_length=200, unique=True)
    cover = models.ImageField(upload_to='images/')
    author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts')
    slug = models.SlugField(null=False, unique=True)
    def get_absolute_url(self):
        return reverse('post_detail', kwargs={'slug': self.slug})
    updated_on = models.DateTimeField(auto_now= True)
    content = RichTextUploadingField(blank=True)
    created_on = models.DateTimeField(auto_now_add=True)
    status = models.IntegerField(choices=STATUS, default=0)

    class Meta:
        ordering = ['-created_on']

    def __str__(self):
        return self.title

admin.py文件(在相关应用程序中):

代码语言:javascript
复制
from django.contrib import admin
from .models import Post 

class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'status','created_on')
    list_filter = ("status",)
    search_fields = ['title', 'content']
    prepopulated_fields = {'slug': ('title',)}
    class Media:
        js = ('ckeditor.js',)
        # do not write '/static/ckeditor.js' as Django automatically looks 
        # in the static folder

admin.site.register(Post, PostAdmin)

urls.py文件(全局):

代码语言:javascript
复制
from django.conf import settings
from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include
from django.urls import include, path
from django.conf.urls.static import static
from AGAPE import views
from articles import views
from django.views.generic.base import TemplateView
from django.conf.urls.i18n import i18n_patterns
from django.utils.translation import ugettext_lazy as _


urlpatterns = i18n_patterns(
    url(r'^$', TemplateView.as_view(template_name='home.html'), name='home'),
    url(r'^i18n/', include('django.conf.urls.i18n')),
    path('i8n/', include('django_translation_flags.urls')),
    url(r'^home', TemplateView.as_view(template_name='home.html'), name='home'),
    url(r'^overagape', TemplateView.as_view(template_name='overagape.html'),name='over_agape'),
    url(r'^QUIZ/', include('QUIZ.urls')),
    url(r'^admin/', admin.site.urls),
    url(r'^nested_admin/', include('nested_admin.urls')),
    url(r'^aspecteen', TemplateView.as_view(template_name='aspecteen.html'), name='aspecteen'),
    url(r'^aspecttwee', TemplateView.as_view(template_name='aspecttwee.html'), name='aspecttwee'),
    url(r'^aspectdrie',TemplateView.as_view(template_name='aspectdrie.html'),name='aspectdrie'),
    url(r'^aspectvier',TemplateView.as_view(template_name='aspectvier.html'),name='aspectvier'),
    url(r'^aspectvijf',TemplateView.as_view(template_name='aspectvijf.html'),name='aspectvijf'),
    url(r'^articles/', include('articles.urls')),
    url(r'^ckeditor/', include ('ckeditor_uploader.urls')),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
EN

回答 1

Stack Overflow用户

发布于 2020-07-11 19:17:43

我也有同样的问题,问题是关于我在模板中调用的ckeditor脚本。

以前是这样的,

代码语言:javascript
复制
<script type="text/javascript" src="{% static ' ckeditor/ckeditor-init.js' %}"></script>
<script type="text/javascript" src="{% static ' ckeditor/ckeditor/ckeditor.js' %}"></script>

而撇号符号和编者路径之间的空格使django将其称为;

代码语言:javascript
复制
"GET /static/%20ckeditor/ckeditor-init.js HTTP/1.1" 404 1706    
"GET /static/%20ckeditor/ckeditor/ckeditor.js HTTP/1.1" 404 1718

删除空间后出现问题。在某些情况下可能会有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62302289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档