Files
lab6/articles/views.py
2025-10-08 21:30:45 +03:00

32 lines
1.1 KiB
Python

from .models import Article
from django.shortcuts import render
from django.http import Http404, HttpResponse
from django.shortcuts import redirect
def archive(request):
return render(request, 'archive.html', {"posts": Article.objects.all()})
def get_article(request, article_id):
try:
post = Article.objects.get(id=article_id)
return render(request, 'article.html', {"post": post, "user": request.user})
except Article.DoesNotExist:
raise Http404
def create_post(request):
if request.method == "POST":
form = {
'text': request.POST["text"], 'title': request.POST["title"]
}
if form["text"] and form["title"]:
try:
article = Article.objects.create(text=form["text"], title=form["title"], author=request.user)
return redirect('get_article', article_id=article.id)
except:
return render(request, 'article_invalid_name.html')
if not request.user.is_anonymous:
return render(request, 'new_article.html')
else:
return HttpResponse('Unauthorized', status=401)