我正在製作一個超簡約的博客應用程序作爲第一個項目。我無法讓表單的CharField顯示在頁面上,而且我無法找到關於如何將表單數據放入我的數據庫的簡明解釋。Django 1.11:發佈表單數據到數據庫
爲清晰起見,編輯:我正在努力讓所有人都可以發佈內容,而不僅僅是具有官方教程中的管理員權限的用戶。
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
我感謝你的意見。
這使我重定向到/內容,我想我需要創建或更改。但它解決了我的主要問題。讚賞。 –
你可以使用'redirect',它會重定向到你想要的任何url,比如main url。檢查更新的答案。 –