def language_add_new(request, language_list):
language_list = LanguageList.objects.get(name=language_list)
if request.method == 'POST':
form = AddLanguageForm(request.POST)
if "cancel" in form.data: # has to be tested before data is cleaned
return HttpResponseRedirect(reverse("view-language-list",
args=[language_list.name]))
if form.is_valid():
with transaction.atomic():
form.save()
language = Language.objects.get(
ascii_name=form.cleaned_data["ascii_name"])
try:
language_list.append(language)
except IntegrityError:
pass # automatically inserted into LanguageList.DEFAULT
return HttpResponseRedirect(reverse("language-edit",
args=[language.ascii_name]))
else: # first visit
form = AddLanguageForm()
return render_template(request, "language_add_new.html",
{"form": form})
评论列表
文章目录