+import base64
+import secrets
+
+from django.http import HttpResponse, Http404
+from django.shortcuts import get_object_or_404, redirect, render
+
+from . import models
+
+def index(request):
+ return render(
+ request,
+ 'index.html',
+ )
+
+def create(request):
+ if request.method != 'POST':
+ raise Http404()
+
+ text = request.POST.get('text')
+
+ tf = models.TextFile(text=text, edit_key=secrets.token_urlsafe())
+ tf.save()
+
+ return redirect(tf.get_absolute_url())
+
+def text_file(request, pk):
+ if request.method != 'GET':
+ raise Http404()
+
+ pk_int = int.from_bytes(base64.urlsafe_b64decode(pk), 'big')
+
+ tf = get_object_or_404(models.TextFile, pk=pk_int)
+
+ return HttpResponse(tf.text)