“没有这样的问题”的操作Django表格

2024-04-19 03:50:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在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 %}

有人知道这个错误意味着什么吗?或者我为什么会得到它?这让我发疯了。谢谢你的帮助!在


Tags: djangotextfromimportselfformhomerequest
1条回答
网友
1楼 · 发布于 2024-04-19 03:50:12

如错误消息所述,数据库中不存在该特定表。在

可以运行以下命令:

python manage.py makemigrations appname

通过运行makemigrations,您告诉Django您已经对模型进行了一些更改,并且希望将更改存储为迁移。在

现在再次运行migrate在数据库中创建这些模型表

^{pr2}$

Further Reading

相关问题 更多 >