def add_place(request): if request.method == 'POST': form = PlaceForm(request.POST) if form.is_valid(): place = form.save(commit=False) place.save() return HttpResponseRedirect(reverse(list_places) + '?info=success') else: return render(request, 'places/new_place.html', {'form': form}) else: context = {'form': PlaceForm()} return render(request, 'places/new_place.html', context)
def new_place(request): header = "Новое место" if request.user.is_authenticated: if request.method == "POST": form = PlaceForm(request.POST) if form.is_valid(): place = form.save(commit=False) place.author = request.user place.save() return redirect('place_detail', pk=place.pk) else: form = PlaceForm() else: return HttpResponseForbidden() return render(request, 'edit.html', {'form': form, 'header': header})
def place_edit(request, pk): header = "Редактировать место" place = get_object_or_404(Place, pk=pk) if place.author != request.user: return HttpResponseForbidden() if request.method == "POST": form = PlaceForm(request.POST, instance=place) if form.is_valid(): place = form.save(commit=False) place.save() return redirect('place_detail', pk=place.pk) else: form = PlaceForm(instance=place) return render(request, 'edit.html', { 'form': form, 'header': header, 'place': place })
def edit_place(request, place_id): place = get_object_or_404(Place, pk=place_id) if request.method == 'POST': form = PlaceForm(request.POST, instance=place) if form.is_valid(): p = form.save(commit=False) p.save() return HttpResponseRedirect( reverse(list_places) + '?info=success-edit') else: return render(request, 'places/edit_place.html', { 'form': form, 'place_name': place.name }) else: return render(request, 'places/edit_place.html', { 'form': PlaceForm(instance=place), 'place_name': place.name })