【问题标题】:Django2 forms nothing happend when submit post article提交帖子文章时,Django 2表单没有任何反应
【发布时间】:2018-12-30 00:03:42
【问题描述】:

我有表格可以在我的博客 Django2 中发布文章。当我运行 django 服务器时没有错误,但是当我在前端应用程序中发布和提交文章时没有任何反应,也没有保存任何数据。

对此的任何帮助将不胜感激!

模板 HTML

<div class="create-article">
    <h2>Create an Awesome New Articles</h2>
    <form class="site-form" action="{% url 'articles:create' %}" method="POST" enctype="multipart/form-data">
        {% csrf_token %}
        {{ form }}
        <input type="submit" value="Create">
    </form>
</div>

forms.py

from django import forms
from . import models

class CreateArticle(forms.ModelForm):
class Meta:
    model = models.Article
    fields = ['title', 'body', 'slug', 'thumb']

views.py

def article_create(request):
if request.method == 'POST':
    form = forms.CreateArticle(request.POST, request.FILES)
    if form.is_valid():
        # save article to db
        instance = form.save(commit=False)
        instance.author = request.user
        instance.save
        return redirect('articles:list')
else:
    form = forms.CreateArticle()
return render(request, 'articles/article_create.html', {'form': form})

urls.py

from django.urls import path
from . import views

app_name = 'articles'

urlpatterns = [
    path('', views.article_list, name="list"),
    path('create/', views.article_create, name="create"),
    path('<slug>/', views.article_detail, name="detail"),
]

谢谢。

【问题讨论】:

    标签: forms django-2.0


    【解决方案1】:

    从这里开始:instance = form.save(commit=False),您没有提交保存。

    再往下你有instance.save,就像你在设置一个模型字段,但没有给它值。

    改为instance.save()

    【讨论】:

    • 非常感谢!,我只是忘记了..!!,谢谢兄弟!!
    猜你喜欢
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多