Я пытаюсь отправить модель в Django с jquery, и я получаю ответ от сервера 500 и не знаю, как действовать.
Это мой js:
function addUpdate(e) {
e.preventDefault();
var form = jQuery(e.target);
jQuery.ajax({
url: form.attr('action'),
type: form.attr('method'),
data: form.serialize(),
dataType: 'json',
success: function(){
$('<p>Been Added</p>').insertBefore("div.tr-list");
}
});
};
jQuery("form#tr-form").submit(function(e){
addUpdate(e);
});
Это моя форма:
<input class="nidden" type="button" id="tr-trigger" value="Add Resource" />
<form class="absolute" id="tr-form" action="{% url topic_resource_create topic.person.user topic.slug %}" method="POST">{% csrf_token %}
<div id="tr-wrapper">
{{ tr_form.as_p }}
<input id="tr-submit" type="submit" value="Submit" />
<input type="reset" value="Reset" />
</div>
</form>
Это мое мнение:
def tr_create_xhr(request, slug):
if request.method == "POST":
form = TopicResourceForm(request.POST)
try:
r = Resource.objects.get(url=form.cleaned_data['resource'])
except Resource.DoesNotExist:
r = Resource.objects.create(url=form.cleaned_data['resource'], rtype=form.cleaned_data['rtype'])
r.save()
form.resource = r
topic = Topic.objects.get(person__user=request.user, slug__iexact=slug)
form.topic = topic
if form.is_valid():
form.save()
response = serializers.serialize('json', form)
if request.is_ajax():
return HttpResponse(response, content_type="application/javascript")
else:
return HttpResponseRedirect("../..")
Я не уверен, что они считают, что логика верна, потому что я получаю ошибку 500 серверов каждый раз, когда пытаюсь опубликоватьна URL.У меня есть пара других похожих форм, которые выдают мне ту же ошибку.