首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我一直在/ OperationalError /没有这样的表中得到错误的forums_simple_post

我一直在/ OperationalError /没有这样的表中得到错误的forums_simple_post
EN

Stack Overflow用户
提问于 2022-01-31 22:27:26
回答 1查看 67关注 0票数 0

我正在构建一个简单的论坛应用程序,当我访问我的论坛页面时,我一直在/ OperationalError / no这样的表上得到错误的forums_simple_post。有人知道如何解决这个问题吗?我非常感谢你的帮助?

views.py

代码语言:javascript
复制
from django.shortcuts import render
from django.urls import reverse_lazy
from django.views import generic
from . import forms
from forums_simple.models import Post
# Create your views here.

class ForumForm(generic.CreateView):
    template_name = 'forums_simple/forum.html'
    form_class = forms.ForumForm
    success_url = '/'

    def form_vaild(self, form):
        self.object = form.save(commit=False)
        self.object.save()
        return super().form_vaild(form)

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['object_list'] = Post.objects.all()
        return context

urls.py

代码语言:javascript
复制
from django.contrib import admin
from django.urls import path, include
from . import views

app_name = 'forums'

urlpatterns = [
    path('', views.ForumForm.as_view(), name='forum')
]

models.py

代码语言:javascript
复制
from django.db import models

# Create your models here.
class Post(models.Model):
    message = models.TextField(blank=True, null=False)
    created_at = models.DateTimeField(auto_now=True)

forms.py

代码语言:javascript
复制
from django import forms
from  . import models

class ForumForm(forms.ModelForm):
    class Meta:
        model = models.Post
        fields = ('message',)

forum.html

代码语言:javascript
复制
{% extends "base.html" %}
{% load crispy_forms_tags %}

{% block content %}
<div class="container">
  {% for message in object_list %}
    {{ post.message }}
  {% endfor %}
</div>
<div class="container">
  <form class="forum_class" action="index.html" method="post">
    {% csrf_token %}
    {% crispy form %}
    <button type="submit" name="big-button"></button>
  </form>
</div>
{% endblock %}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-31 23:31:15

运行迁移命令了吗?

代码语言:javascript
复制
python manage.py makemigrations
python manage.py migrate

此外,我认为修复这个循环在某些时候可能会有所帮助:

代码语言:javascript
复制
# Bad
{% for message in object_list %}
  {{ post.message }}
{% endfor %}

# Good
{% for post in object_list %}
  {{ post.message }}
{% endfor %}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70933570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档