Get creation of a text file working
[txt.house] / txt_house / views.py
1 import base64
2 import secrets
3
4 from django.http import HttpResponse, Http404
5 from django.shortcuts import get_object_or_404, redirect, render
6
7 from . import models
8
9 def index(request):
10     return render(
11         request,
12         'index.html',
13     )
14
15 def create(request):
16     if request.method != 'POST':
17         raise Http404()
18
19     text = request.POST.get('text')
20
21     tf = models.TextFile(text=text, edit_key=secrets.token_urlsafe())
22     tf.save()
23
24     return redirect(tf.get_absolute_url())
25
26 def text_file(request, pk):
27     if request.method != 'GET':
28         raise Http404()
29
30     pk_int = int.from_bytes(base64.urlsafe_b64decode(pk), 'big')
31
32     tf = get_object_or_404(models.TextFile, pk=pk_int)
33
34     return HttpResponse(tf.text)