【发布时间】:2013-10-17 16:33:53
【问题描述】:
当我尝试文本编辑和其他与文本相关的东西并保存它时,编辑器可以很好地完成它的工作。但是当我尝试上传图片时,它只需要一个不同的网址。我在窗户上。是不是因为这个,因为我在this post 上看到了一个帖子,但它也没有帮助我。它确实被保存了,而且他们每个人都有自己的缩略图。但它只是错误的网址。 我查看了图片的src,是这样的,
<img alt="" src="/media/3/10/17Hydrangeas.jpg" />
但应该是这样的,
<img alt="" src="/media/2013/10/17/Hydrangeas.jpg" />
而有时候图片的src就是这样的,
<img alt="" src="/media/3/10/17" />
这是我的settings.py的sn-p:
CKEDITOR_UPLOAD_PATH = 'C:/Users/Nanyoo/web/demo/media'
MEDIA_ROOT = 'C:/Users/Nanyoo/web/demo/media'
我已将其网址包含在我的 urls.py 中:
(r'^ckeditor/', include('ckeditor.urls')),
models.py:
from django.db import models
from datetime import datetime
from django.contrib.auth.models import User
from time import time
def get_upload_file_name(instance, filename):
return "uploaded_files/%s_%s" %(str(time()).replace('.','_'), filename)
class Blog(models.Model):
title = models.CharField(max_length=200)
image = models.ImageField(upload_to=get_upload_file_name, blank=True)
pub_date = models.DateTimeField(default=datetime.now)
creator = models.ForeignKey(User, related_name="creator_set")
body = models.TextField()
在forms.py中:
from django import forms
from django_summernote.widgets import SummernoteWidget
from ckeditor.widgets import CKEditorWidget
class BlogForm(forms.Form):
title = forms.CharField(max_length=200,widget=SummernoteWidget())
body = forms.CharField(widget=CKEditorWidget())
在 index.html 中:
{% for blog in blogs %}
<div id="page">
<h1>{{ blog.title | safe}}</h1>
<p>{{ blog.body | safe}}</p>
</div>
{% endfor %}
我在 html 中的表单:
{% block content %}
<form method="post" action=".">
{% csrf_token %}
<fieldset id="create_blog">
{{form.media}}
{{ form.as_p}}
<input type="submit" value="Post Blog" />
</fieldset>
</form>
{% endblock %}
【问题讨论】:
-
看起来问题出在
get_upload_file_name。图片实际保存在文件系统的什么位置? -
在媒体目录中......而且我想我没有使用我的模型的图像属性,因为我正在使用编辑器的图像上传功能将它放置在我的身体中。还是我错了?如果我错了,请纠正我的先生。
-
对不起,你是对的,我是个白痴:-)。
-
不,问题:)!或者可能是因为我没有像这样在 ckupload 路径中放置
uploads作为后缀:CKEDITOR_UPLOAD_PATH = 'C:/Users/Nanyoo/web/demo/media/uploads'?? -
您在使用
CKEditor之前是否运行过manage.py collectstatic?它对我来说总是开箱即用,所以这很奇怪。
标签: django django-forms ckeditor django-ckeditor