使用Django Ckeditor上传图像-获取服务器错误(500)

世界

使用Django Ckeditor上传图像-获取服务器错误(500)

我为这个问题苦苦挣扎了两天。不幸的是,由于我的知识不足,我仍然不知道要解决它。所以我必须来这里寻求帮助。非常感谢!

在此处输入图片说明

我想写一个网站作为我的博客,并使用Django来实现它。要开发此网站,我必须使用RTF编辑器,因此我在管理面板上使用CKeditor。这是github上Ckeditor源代码的链接。https://github.com/django-ckeditor/django-ckeditor

要使用ckeditor小部件上载图像,我编辑了此文件,../static/ckeditor/ckeditor/plugins/image/di alogs/image.js以便它可以显示图像上载按钮。

id:"Upload",hidden:!0

我还在中添加了上传网址config.js之后,我在中设置了路由,urls.py并在views.py中添加了一个view函数。我的电脑上一切正常。但是,在将其部署到网站服务器后,我通过ckeditor上传图像时出现服务器错误(500)。Ckeditor小部件无法返回url,但是我可以在我由ckeditor上传的服务器上找到图像。

$:~/sites/www/source$ ls ../media/images/
20161219045646_7.jpeg           20161219053949_0094.jpg      
$:~/sites/www/source$

config.js(位置static/ckeditor/ckeditor/

/**
 * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben.   All rights reserved.
 * For licensing, see LICENSE.md or http://ckeditor.com/license
 */

CKEDITOR.editorConfig = function( config ) {
        config.filebrowserImageUploadUrl="/articleuploadimg/";
};

urls.py

from django.conf.urls import url, include
from django.contrib import admin
from article import views as article_views
urlpatterns = [
    url(r'^ckeditor/', include('ckeditor_uploader.urls')),
    url(r'^admin/', admin.site.urls),
    url(r'^articleuploadimg/', article_views.article_upload_image),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

文件树

|___sites
        |___www.mysite.com
                |___database
                |    |___db.sqlite3
                |   
                |___source
                |    |___manage.py
                |    |___article
                |    |      |___views.py
                |    |      |___...
                |    |___...
                |   
                |___static
                |    |___ckeditor
                |    |___css
                |    |___js
                |     
                |___virtualenv
                |___media
                     |___images

views.py

from django.shortcuts import render
from article.models import Article
from django.views.decorators.csrf import csrf_protect
import time

@csrf_protect
def article_upload_image(request):
    if request.method == 'POST':
        callback = request.GET.get('CKEditorFuncNum')
        try:
            path = "../../media/images/"+time.strftime("%Y%m%d_%H%M%S", time.localtime())
            f = request.FILES["upload"]
            file_name = path + "_" + f.name
            des_origin_f = open(file_name, "wb+")
            for chunk in f:
                des_origin_f.write(chunk)
            des_origin_f.close()
        except Exception as e:
            print (e)
        res = r"<script>window.parent.CKEDITOR.tools.callFunction("+callback+",'"+file_name+"','');</script>"
        return HttpResponse(res)
    else:
        raise Http404()

settings.py

# Application definition    
INSTALLED_APPS = [
    'ckeditor',
    'ckeditor_uploader',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'article',
]
...
...

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/

STATIC_URL = '/static/'
STATIC_ROOT = os.path.abspath(os.path.join(BASE_DIR, '../static'))

# Media files (upload path)
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.abspath(os.path.join(BASE_DIR, '../media/'))
CKEDITOR_UPLOAD_PATH = ""
CKEDITOR_JQUERY_URL = '//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'
世界

我在里面加了一些东西 /etc/nginx/sites-available/www.mysite.com

location /media {
    alias /home/XXX/sites/www.mysite.com/media;
}

以及改变了道路

path = "../media/images/"

最后,它起作用了!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用ajax 500内部服务器错误上传Laravel图像

来自分类Dev

Django CKEditor图像上传未出现

来自分类Dev

由于500个服务器错误,无法将图像上传到服务器

来自分类Dev

内部服务器500错误-Django

来自分类Dev

如何删除使用django-ckeditor上传的图像?

来自分类Dev

使用Flask将文件上传到目录时出现内部服务器错误代码500

来自分类Dev

使用改造(pdf、ppt、png、jpg)“代码= 500,内部服务器错误”上传文件的问题是什么

来自分类Dev

如何使用django-ckeditor在admin中的服务器上上传文件和浏览器文件?

来自分类Dev

如何使用django-ckeditor在admin中的服务器上上传文件和浏览器文件?

来自分类Dev

如何使用ReactNative在服务器上上传图像

来自分类Dev

使用AsyncTask将图像或视频上传到服务器

来自分类Dev

使用tinymce将图像上传到服务器

来自分类Dev

使用改造将图像上传到服务器

来自分类Dev

使用 cURL 将图像上传到 PHP 服务器?

来自分类Dev

使用 Springboot 在托管服务器上上传图像

来自分类Dev

文本编辑器,支持使用ckeditor将图像从客户端Rails应用上传到Rails API

来自分类Dev

AFHTTPRequestOperationManager文件上传返回500服务器错误

来自分类Dev

500内部服务器错误(尝试上传文件)

来自分类Dev

django-ckeditor上传的图像上的绝对路径

来自分类Dev

Django Google App Engine服务器错误500

来自分类Dev

Bitnami Django Stack 500内部服务器错误

来自分类Dev

500(内部服务器错误)AJAX Django

来自分类Dev

使用 Ajax 进行实时搜索并在 Laravel 5.8 上获取错误“500(内部服务器错误)”

来自分类Dev

如何使用App Tethering从服务器获取图像

来自分类Dev

Windows上使用IPython Notebook的500服务器错误

来自分类Dev

使用HttpClient处理500(内部服务器错误)

来自分类Dev

使用curl将文件上传到django服务器

来自分类Dev

使用python将文件上传到Django服务器

来自分类Dev

使用Ajax时,服务器的状态为500(内部服务器错误)

Related 相关文章

  1. 1

    使用ajax 500内部服务器错误上传Laravel图像

  2. 2

    Django CKEditor图像上传未出现

  3. 3

    由于500个服务器错误,无法将图像上传到服务器

  4. 4

    内部服务器500错误-Django

  5. 5

    如何删除使用django-ckeditor上传的图像?

  6. 6

    使用Flask将文件上传到目录时出现内部服务器错误代码500

  7. 7

    使用改造(pdf、ppt、png、jpg)“代码= 500,内部服务器错误”上传文件的问题是什么

  8. 8

    如何使用django-ckeditor在admin中的服务器上上传文件和浏览器文件?

  9. 9

    如何使用django-ckeditor在admin中的服务器上上传文件和浏览器文件?

  10. 10

    如何使用ReactNative在服务器上上传图像

  11. 11

    使用AsyncTask将图像或视频上传到服务器

  12. 12

    使用tinymce将图像上传到服务器

  13. 13

    使用改造将图像上传到服务器

  14. 14

    使用 cURL 将图像上传到 PHP 服务器?

  15. 15

    使用 Springboot 在托管服务器上上传图像

  16. 16

    文本编辑器,支持使用ckeditor将图像从客户端Rails应用上传到Rails API

  17. 17

    AFHTTPRequestOperationManager文件上传返回500服务器错误

  18. 18

    500内部服务器错误(尝试上传文件)

  19. 19

    django-ckeditor上传的图像上的绝对路径

  20. 20

    Django Google App Engine服务器错误500

  21. 21

    Bitnami Django Stack 500内部服务器错误

  22. 22

    500(内部服务器错误)AJAX Django

  23. 23

    使用 Ajax 进行实时搜索并在 Laravel 5.8 上获取错误“500(内部服务器错误)”

  24. 24

    如何使用App Tethering从服务器获取图像

  25. 25

    Windows上使用IPython Notebook的500服务器错误

  26. 26

    使用HttpClient处理500(内部服务器错误)

  27. 27

    使用curl将文件上传到django服务器

  28. 28

    使用python将文件上传到Django服务器

  29. 29

    使用Ajax时,服务器的状态为500(内部服务器错误)

热门标签

归档