【发布时间】:2020-08-12 23:36:43
【问题描述】:
我一直在尝试使我的代码能够发布图像,但是当我创建帖子时,图片没有出现,但图像保存在媒体/图像上我想知道是否有任何方法可以使代码工作,然后当我调用图像 {{ request.user.image.url }}
时,base.html 中可能有问题views.py
def create(request):
if request.method == 'POST':
created_date = timezone.now()
header1 = request.POST['header']
content1 = request.POST['content']
user = request.user
uploded_file = request.FILES['image']
created_obj = Create.objects.create(added_date=created_date, title=header1, content=content1, user=user, image=uploded_file)
created_obj.save()
print('create created')
return redirect('home')
else:
print('create not created')
return render(request, 'create.html')
models.py
class Create(models.Model):
added_date = models.DateTimeField()
title = models.CharField(max_length=200)
content = models.CharField(max_length=200)
image = models.ImageField(null=True, blank=True, upload_to='images/')
user = models.ForeignKey(User, related_name='user', on_delete=models.CASCADE, default=1)
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
image = models.ImageField(default='default.jpg', upload_to='profile_pics')
def __str__(self):
return f'{self.user.username} Profile'
创建.html
{% extends 'home.html' %}
{% block body %}
<div style="margin-top: 200px; margin-left:200px;">
<form action="create" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<input type="text" name="header" placeholder="Add here...">
<input type="text" name="content" placeholder="Add here...">
<input type="file" name="image">
<button type="submit"name="action" class="btn btn-primary mb-2">submit</button>
</form>
</div>
{% endblock %}
base.html
{% extends 'home.html' %}
{% block body %}
<ul action="{% url 'create' %}" class="container-sm list-group" style="margin-top: 200px;">
{% for created_post in created_posts %}
<li class="list-group-item">{{ created_post.title }}
<a href="{% url 'profile_pk' pk=created_post.user.pk %}">{{ created_post.user }}</a>
<img class="image" src="{{ create.image.url }}">
<p>{{ created_post.content }}</p>
<div class="float-right">
<form action="delete_create/{{ created_post.id }}/" action="post">
<button type="submit" class="btn btn-outline-danger btn-sm">Delete</button>
</form>
</div>
<div class="float-right">
<a href="{% url 'edit' created_post.id %}" class="btn btn-outline-warning btn-sm" style="margin-right: 5px;" role="button">Edit</a>
</div>
</li>
{% endfor %}
</ul>
{% endblock %}
【问题讨论】:
-
context2是什么,它的分配在哪里? -
对不起,上下文 2 不应该在那里
标签: python html django django-forms django-views