from django.contrib.auth.models import User from django.core.exceptions import ObjectDoesNotExist from django.http.response import Http404, HttpResponseRedirect from django.shortcuts import render, get_object_or_404, redirect from main.forms import StoryForm from main.models import Story def index(request): try: user = User.objects.get(username=request.user) user_stories = list(user.stories.all()) except ObjectDoesNotExist: user_stories = [] return render(request, 'index.html', {'mes_stories': user_stories}) def story_details(request, story_id): story = get_object_or_404(Story, id=story_id) return render(request, 'story_details.html', {'story': story}) def story_create(request): if request.method == 'POST': form = StoryForm(request.POST) if form.is_valid(): story = form.save(commit=False) story.author = User.objects.get(username=request.user) story.save() return redirect("story_details", story.id) else: form = StoryForm() return render(request, 'story_form.html', {'form': form}) def story_edit(request, story_id): if request.method == 'POST': story = get_object_or_404(Story, id=story_id) form = StoryForm(request.POST, instance=story) if form.is_valid(): form.save() return redirect("story_details", story.id) else: story = get_object_or_404(Story, id=story_id) form = StoryForm(instance=story) return render(request, 'story_form.html', {'form': form}) def story_delete(request, story_id): if request.method == 'POST': story = Story.objects.get(id=story_id) story.delete() return redirect("index") else: story = Story.objects.get(id=story_id) return render(request, 'deletion.html', {'object': story})