Python 如何创建帖子?

Python 如何创建帖子?,python,html,django,Python,Html,Django,我在正确使用表单方面有一些问题。 我搜索了如何创建帖子,但我有一个问题; 我不知道为什么张贴不起作用 我想保存帖子和图片文件 views.py @login_required() def postFind(request): if request == "POST": form = PostForm(request.POST, request.FILES) if form.is_valid(): post = form.save(commit = False)

我在正确使用表单方面有一些问题。 我搜索了如何创建帖子,但我有一个问题; 我不知道为什么张贴不起作用

我想保存帖子和图片文件

views.py

@login_required()
def postFind(request):
if request == "POST":
    form = PostForm(request.POST, request.FILES)
    if form.is_valid():
        post = form.save(commit = False)
        post.menu = True
        post.pub_date = timezone.datetime.now()
        post.up_date = timezone.datetime.now()
        post.user = request.user
        post.save()
        return HttpResponseRedirect(reverse('website:postCheck', args=(post.id)))
else:
    form = PostForm()
    return render(request, 'postFind.html', {'form' : form})
postFind.html

{% if user.is_authenticated %}
<div class="form">
    <form class="post-form" method="post" enctype="multipart/form-data" action="{% url 'website:postFind' %}">
        {% csrf_token %}
        <div class="wrapper">
            <div class="box">
                <div class="js--image-preview"></div>
                <div class="upload-options">
                    <label>
                        {{ form.image }}
                    </label>
                </div>
            </div>

            <p id="info">Species</p>
            {{ form.species }}
            <p id="info">Location</p>
            {{ form.location }}
            <p id="info">Date</p>
            {{ form.date }}
            <p id="info">Feature</p>
            {{ form.feature }}

            <button type="submit" class="btn btn-default">Submit</button>

            <a class="btn btn-default" href="{% url 'website:homePost' %}" role="button" id="button">Cancel</a>
        </form>
</div>
{% endif %}

一切看起来都很好,但保存后你应该像这样重定向

from django.shortcuts import redirect

......
if form.is_valid():
    post = form.save(commit = False)
    post.menu = True
    post.pub_date = timezone.datetime.now()
    post.up_date = timezone.datetime.now()
    post.user = request.user
    post.save()
    return redirect(reverse('website:postCheck', args=[str(post.id)]))

在你的观点中,我认为你应该使用

if request.method == "POST":
而不是

if request == "POST":
if request == "POST":