コード例 #1
0
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)
コード例 #2
0
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})
コード例 #3
0
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
    })
コード例 #4
0
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
        })