Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法显示上传的图像django_Python_Django_Python 3.x_Django Models_Django Forms - Fatal编程技术网

Python 无法显示上传的图像django

Python 无法显示上传的图像django,python,django,python-3.x,django-models,django-forms,Python,Django,Python 3.x,Django Models,Django Forms,为什么我不能使用以下设置正确显示上载的图像。 在查看页面源代码时,url显示正确(我认为)。该图像仅为断开的图像缩略图图像。源中的url显示为/media/uploads/group\u images/my\u image\u name 如果相关,图像是从管理员上传的,但我也希望能够上传到其他地方(即,在呈现模板中上传表单) 在settings.py中 .... MEDIA_URL = "/media/" MEDIAFILES_DIRS = [] MEDIA_ROOT = os.path.joi

为什么我不能使用以下设置正确显示上载的图像。 在查看页面源代码时,url显示正确(我认为)。该图像仅为断开的图像缩略图图像。源中的url显示为
/media/uploads/group\u images/my\u image\u name

如果相关,图像是从管理员上传的,但我也希望能够上传到其他地方(即,在呈现模板中上传表单)

在settings.py中

....
MEDIA_URL = "/media/"
MEDIAFILES_DIRS = []
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
在models.py中

class BlogGroup(models.Model):

    title = BleachField()
    image = models.ImageField(upload_to="uploads/group_images", default="uploads/group_images/none/none.jpg")
    created = models.DateTimeField(default = datetime.now)

    def __str__(self):

        return self.title 
在forms.py中

class BlogGroupForm(forms.ModelForm):


    def __init__(self, *args, **kwargs):

        super(BlogGroupForm, self).__init__(*args, **kwargs)
        self.fields["title"].requried = True
        self.fields["image"].required = True
        self.fields["title"].widget = forms.TextInput()

    class Meta:
        model = BlogGroup
        fields = ["title", "image"]
url.py

urlpatterns = patterns('blog.views',
 (r'^admin/', include(admin.site.urls)),
  .....,
 (r'^ckeditor/', include('ckeditor.urls')),
 (r"", "main"),
 ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
看法

模板

{% for group in groups %}
<div class = "row">
    <div class = "col-xs-12">
        {{ group.title }}
    </div>
    <div class = "col-xs-12">
        <img src = "{{ group.image.url }}" alt = ""/>
    </div>
</div>
{% endfor %}
{%用于组中的组%}
{{group.title}}
{%endfor%}

更改url.py如下:

    urlpatterns = patterns('blog.views',
 (r'^admin/', include(admin.site.urls)),
  .....,
 (r'^ckeditor/', include('ckeditor.urls')),
 (r"", "main"),
 ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

问题出在url调度程序中。 当django将url发送给dispatcher时,它会从上到下逐个抛出您的url,如果存在regexp匹配项,它就会停止

您在
(r“,”main“)中的url
与所有字符串匹配。 您需要将其替换为
(r“^$”,“main”),
,以便只匹配空字符串

更多信息:


OOOh是的,在你的模板中添加这个,可能这个对象没有图像!听着,我的朋友,你有萤火虫吗?使用它你在这个img标签上看到了什么?出现了什么?试着继续http://.../media/. 有什么错误吗?哦,我明白了,等等。哇,我犯了个愚蠢的错误。谢谢你指出这让我发疯!
    urlpatterns = patterns('blog.views',
 (r'^admin/', include(admin.site.urls)),
  .....,
 (r'^ckeditor/', include('ckeditor.urls')),
 (r"", "main"),
 ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)