I am making a super-minimalistic blogging application as a first project. I'm having trouble getting my form's CharField to show up on the page, and I'm having trouble finding a concise explanation as to how I'd put that form data into my database.
Edit for clarity: I'm trying to make it so that anyone can post something, not just someone with admin privileges like in the official tutorial.
forms.py:
1 from django import forms
2
3 class ContentForm(forms.Form):
4 form_post = forms.CharField(widget = forms.TextInput)
views.py:
1 from django.shortcuts import render
2 from django.http import HttpResponse
3 from .forms import ContentForm
4 from .models import Post
5
6 def post(request ):
7 #testvar = "TEST VARIABLE PLZ IGNORE"
8 post_list = Post.objects.order_by('id')
9
10 return render(request, 'posts/main.html',
11 {'post': post_list},
12 )
13
14 def content_get(request):
15
16 if request.method == 'POST':
17
18 form = ContentForm(request.POST)
19
20 return render(request, 'main.html', {'form':form})
main.html:
1 <head>
2 <h1>Nanoblogga</h1>
3
4 </head>
5
6 <body>
7 {% for i in post %}
8 <li>{{ i }}</li>
9 {% endfor %}
10
11
12 <form action = '/' method = 'post'>
13 {% csrf_token %}
14 {{ form }}
15 <input type = 'submit' value = 'Submit' />
16 </form>
17 </body>
models.py
from django.db import models
class Post(models.Model):
content = models.CharField(max_length = 200)
def __str__(self):
return self.content
I appreciate your input.