我试图在Django上设置一个在页面上显示输入的表单,但是我得到了这个错误。在
django.db.utils.OperationalError: no such table: firstapp_post
这不会立即发生,但当我尝试在表单上使用提交功能时。在
现在我的模型是:
^{pr2}$以下是我当前的表格:
from django import forms
from firstapp.models import Post
class IndexForm(forms.ModelForm):
post = forms.CharField()
class Meta:
model = Post
fields = ('post',)
这是我的视图文件:
from django.shortcuts import render, redirect
from firstapp.forms import IndexForm
from django.views.generic import TemplateView
class HomePage(TemplateView):
template_name = 'home/home.html'
def get(self, request):
form = IndexForm()
return render(request, self.template_name, {'form': form})
def post(self, request):
form = IndexForm(request.POST)
if form.is_valid():
post = form.save(commit=False)
post.user = request.user
post.save()
text = form.cleaned_data['post']
form = IndexForm()
return redirect('home:home')
args = {'form': form, 'text': text}
return render(request, self.template_name, args)
这是我的基本.html在
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Assignment 4</title>
<link rel='stylesheet' href='{% static "css/base.css" %}'/>
</head>
<body>
<p>{{ variable }}</p>
{% block body %}{% endblock %}
<script src= '{% static "js/base.js" %}'></script>
</body>
</html>
还有我的主页.html公司名称:
{% extends 'base.html' %}
{% block body %}
<div class="container">
<p>Home</p>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
<p>{{ text }}</p>
</div>
{% endblock %}
有人知道这个错误意味着什么吗?或者我为什么会得到它?这让我发疯了。谢谢你的帮助!在
如错误消息所述,数据库中不存在该特定表。在
可以运行以下命令:
通过运行makemigrations,您告诉Django您已经对模型进行了一些更改,并且希望将更改存储为迁移。在
现在再次运行migrate在数据库中创建这些模型表
^{pr2}$Further Reading
相关问题 更多 >
编程相关推荐