我尝试将应用程序从较旧的 1.11 Django 重写为最新的 2.2。但是当我点击保存按钮时。空无一物。没有错误,没有保存的表格,什么也没有发生。
模型.py
class BlogPost(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, related_name="itemauthor", on_delete=models.SET_NULL)
image = models.ImageField(_('Featured image'), upload_to='item_pictures/%Y/%m/%d/', default=False)
timestamp = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=255, null=False, unique=True)
slug = models.SlugField(max_length=80, null=True, blank=True)
content = MarkdownxField()
status = models.SmallIntegerField(choices=BLOG_STATUS)
... some more fields
表格.py
class CreateForm(forms.ModelForm):
edited = forms.BooleanField(widget=forms.HiddenInput(), required=False, initial=False)
content = MarkdownxFormField()
class Meta:
model = BlogPost
fields = ["title", "content", "image", "edited"]
视图.py
class CreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
permission_required = 'is_active'
model = BlogPost
form_class = CreateForm
template_name = 'blog/create.html'
def form_valid(self, form):
form.instance.user = self.request.user
return super().form_valid(form)
def get_success_url(self):
return reverse('blog:home')
创建.html
{% extends 'base.html' %}
{% load static i18n %}
{% load crispy_forms_tags %}
{% block head %}
{% endblock head %}
{% block content %}
<nav aria-label="breadcrumb">
</nav>
<form action="{% url 'blog:write_new' %}" enctype="multipart/form-data" id="item-form" method="post" role="form">
{% csrf_token %}
{{ form|crispy }}
<div class="form-group">
<button type="button" class="btn btn-primary publish">{% trans 'Publish' %}</button>
</div>
</form>
{{ form.media }}
{% endblock content %}
{% block modal %}
<script src="{% static 'js/blog.js' %}"></script>
{% endblock modal %}
博客.js
$(function () {
$(".update").click(function () {
$("input[name='status']").val("1");
$("input[name='edited']").val("True");
$("#article-form").submit();
});
$(".publish").click(function () {
$("input[name='status']").val("1");
$("#article-form").submit();
});
});
我忘记了什么?那天我一直在寻找这个错误,但不幸的是我找不到它。