Nicolas_Darksoul

views.py

Nov 30th, 2021 (edited)
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.35 KB | None | 0 0
  1. from django.shortcuts import render,redirect
  2. from .models import Topic
  3. from .forms import TopicForm,EntryForm
  4.  
  5. def index(request):
  6.     #home page for learning logs
  7.     return render(request,'learning_logs/index.html')
  8.  
  9. def topics(request):
  10.     topics = Topic.objects.order_by('date_added')
  11.     contest = {'topics':topics}
  12.     return render(request,'learning_logs/topics.html',contest)
  13.  
  14. def topic(request,topic_id):
  15.     topic = Topic.objects.get(id=topic_id)
  16.     entries = topic.entry_set.order_by('-date_added')
  17.     contest = {'topic':topic,'entries':entries}
  18.     return render(request,'learning_logs/topic.html',contest)
  19.  
  20. def new_topic(request):
  21.     #definig a page to make blank form or submit a form
  22.     if request.method != 'POST':
  23.         form = TopicForm()
  24.     else:
  25.         form = TopicForm(data=request.POST)
  26.         if form.is_valid():
  27.             form.save()
  28.     context = {'form':form}
  29.     return render(request,'learning_logs/new_topic.html',context)
  30.  
  31.  
  32. def new_entry(request,topic_id):
  33.     topic = Topic.objects.get(id=topic_id)
  34.  
  35.     if request.method != 'POST':
  36.         form = EntryForm()
  37.  
  38.     else:
  39.         form = EntryForm(data=request.POST)
  40.         if form.is_valid():
  41.             new_entry = form.save(comit=False)
  42.             new_entry.topic = topic
  43.             new_entry.save()
  44.             return redirect("learning_logs:topic",topic_id=topic_id)
  45.  
  46.     context = {"form":form,"topic":topic}
  47.     return render(request,'learning_logs/new_entry.html',context)
  48.  
  49.  
Add Comment
Please, Sign In to add comment