我刚开始使用Django,已经摸不着头脑了,我有一个简单的表单,其操作设置为null,在提交时,它会转到一个我找不到的url,因为我必须在该url上加一个条件命中。
模板:
{% extends 'base.html' %}
{% block body_block %}
<div class="container">
<div class="">
<h2>Education Details</h2>
<form action="" method="post">
{{ form.as_p }}
{% csrf_token %}
<div class="d-flex justify-content-end">
{% if '/attorney-profile-wizard/additional-information/' not in request.META.HTTP_REFERER %}
<a href="{% url "attorney_edit" url_key %}"
class="material-button bg-red pl-2">Cancel</a>
{% else%}
<a href="/attorney-profile-wizard/additional-information/"
class="material-button bg-red pl-2">Cancel</a>
{% endif %}
<!--<a href="{% url "attorney_edit" url_key %}"-->
<!--class="material-button bg-red pl-2">Cancel</a>-->
<input type="submit" class="material-button" name="" value="Save Education">
</div>
</form>
</div>
</div>
{% endblock %}
型号:
class Education(models.Model):
degree = models.CharField(max_length=256)
school_name = models.CharField(max_length=256)
accolades = models.TextField(null=True)
start_year = models.IntegerField(blank=True, null=True)
end_year = models.IntegerField(blank=True, null=True)
is_law_school = models.BooleanField(default=False)
position = models.PositiveSmallIntegerField(blank=True, null=True)
attorney = models.ForeignKey(AttorneyProfile, related_name='educations')
created_at = models.DateTimeField(auto_now_add=True)
modified_at = models.DateTimeField(auto_now=True)
class Meta:
ordering = ['-id']
def __str__(self):
return '{} - {}'.format(self.attorney, self.degree)
views.py
class AttorneyEducationEditMixin(AttorneyEducationMixin, AttorneyEditMixin):
form_class = EducationForm
template_name = 'attorney/education/form.html'
class EducationCreateView(AttorneyEducationEditMixin, CreateView):
permission_required = 'educations.add_education'
class EducationUpdateView(AttorneyEducationEditMixin, EducationPermissionMixin,
UpdateView):
permission_required = 'educations.change_education'
class EducationDeleteView(AttorneyEducationMixin, EducationPermissionMixin,
DeleteView):
template_name = "attorney/shared/title_delete.html"
permission_required = 'educations.delete_education'
我甚至尝试通过以下方式覆盖表单操作:
{% if '/attorney-profile-wizard/additional-information/' not in request.META.HTTP_REFERER %}
<form action="{% url "attorney_edit" url_key %}" method="post">
{% else %}
<form action="/attorney-profile-wizard/additional-information/" method="post">
{% endif %}
{{ form.as_p }}
{% csrf_token %}
<div class="d-flex justify-content-end">
{% if '/attorney-profile-wizard/additional-information/' not in request.META.HTTP_REFERER %}
<a href="{% url "attorney_edit" url_key %}"
class="material-button bg-red pl-2">Cancel</a>
{% else%}
<a href="/attorney-profile-wizard/additional-information/"
class="material-button bg-red pl-2">Cancel</a>
{% endif %}
<!--<a href="{% url "attorney_edit" url_key %}"-->
<!--class="material-button bg-red pl-2">Cancel</a>-->
<input type="submit" class="material-button" name="" value="Save Education">
</div>
</form>
这没有用,显然不是正确的方法。我在哪里可以找到该操作的网址?我什至检查了urls.py
文件,但没有太大帮助。