Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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_Html_Django - Fatal编程技术网

Python 如何让用户在Django中上载图像 嗨,伙计们

Python 如何让用户在Django中上载图像 嗨,伙计们,python,html,django,Python,Html,Django,我开始用Django编码,我只想做一个9gag克隆。 我学习了一些教程,并偶然写了一个博客。但当我“上传”图像时,它总是采用默认值 这是我的Html: {% extends "posts/post_base.html" %} {% load bootstrap3 %} {% block post_content %} <h3 class="title">Poste Some Memes here</h3> <form action="{% url '

我开始用Django编码,我只想做一个9gag克隆。 我学习了一些教程,并偶然写了一个博客。但当我“上传”图像时,它总是采用默认值

这是我的Html:

{% extends "posts/post_base.html" %}
{% load bootstrap3 %}
{% block post_content %}
    <h3 class="title">Poste Some Memes here</h3>
    <form action="{% url 'posts:create' %}" method="POST">
        {% csrf_token %}
        {% bootstrap_form form %}
        <input type="submit" value="posten" class="btn btn-primary btn-large">
    </form>
{% endblock %}
至少我的模特。py:

class Post(models.Model):

    user = models.ForeignKey(User,related_name='posts')
    created_at = models.DateTimeField(auto_now=True)
    title = models.CharField(max_length=30,default='Titel')
    picture= models.ImageField(upload_to=settings.MEDIA_ROOT, default='/static/img/default.png')
    title_html = models.CharField(max_length=30,default='Titel', editable = False)
    group = models.ForeignKey(Group,related_name='posts',null=True,blank=True)

    def __str__(self):
        return self.title

    def save(self,*args,**kwargs):
        self.title_html =misaka.html(self.title)
        super().save(*args,**kwargs)


    def get_absolute_url(self):
        return reverse('posts:single',kwargs={'username':self.user.username,'pk':self.pk})

    class Meta:
        ordering = ['-created_at']
        #unique_together = ['user','title','bild']
url.py和其他HTMLFile工作正常。 一切都是
makemigrated
migrated


我只想知道为什么它不保存图像,或者不上传图像。

上传的图像是self.request.FILES

self.object.picture = self.request.FILES or self.request.FILES.get('key')
self.object.save()

您可以在self.request.POST中发布数据,在self.request中发布文件。上传的图像位于self.request.FILES

self.object.picture = self.request.FILES or self.request.FILES.get('key')
self.object.save()
您可以在self.request.POST中发布数据,在self.request.FILES中发布文件

self.object.picture = self.request.FILES or self.request.FILES.get('key')
self.object.save()
<form action="{% url 'posts:create' %}" method="POST">

只需更换

<form action="{% url 'posts:create' %}" method="POST">


两个答案都在正确的位置,因此无法选择它们。
因此,解决方案如下:

增加

到我的HTML表单

增加


到我的CreatePost

两个答案都在正确的位置,因此无法选择它们。 因此,解决方案如下:

增加

到我的HTML表单

增加


到my CreatePost

发布媒体端口的设置如果显示任何错误,则发布错误以发布媒体端口的设置如果显示任何错误,则发布错误以获取403错误。给出的失败原因:CSRF令牌丢失或不正确。通常,如果出现此错误,则表示您忘记在post表单中添加{%CSRF_令牌%}。出现403错误。给出的失败原因:CSRF令牌丢失或不正确。通常,如果出现此错误,表示您忘记在post表单中添加{%CSRF_令牌%}。
self.bild = self.request.FILES['bild']