python - /blog/addblog 处的 ValueError
问题描述
我正在尝试在我的网站中实现添加帖子部分,用户可以在其中添加他的博客。页面如下所示:
但是当我尝试通过单击发布按钮发布时,我收到此错误:
ValueError at /blog/addblog
Field 'sno' expected a number but got 'blog title'.
Request Method: POST
Request URL: http://127.0.0.1:8000/blog/addblog
Django Version: 3.1
Exception Type: ValueError
Exception Value:
Field 'sno' expected a number but got 'blog title'.
Exception Location: C:\Users\jayant nigam\projects\practise\lib\site-packages\django\db\models\fields\__init__.py, line 1776, in get_prep_value
Python Executable: C:\Users\jayant nigam\projects\practise\Scripts\python.exe
Python Version: 3.8.5
Python Path:
['C:\\Users\\jayant nigam\\projects\\everythingcs',
'C:\\Python38\\python38.zip',
'C:\\Python38\\DLLs',
'C:\\Python38\\lib',
'C:\\Python38',
'C:\\Users\\jayant nigam\\projects\\practise',
'C:\\Users\\jayant nigam\\projects\\practise\\lib\\site-packages']
Server time: Sat, 24 Oct 2020 15:17:48 +0530
博客模型.py:
class Post(models.Model):
sno = models.AutoField(primary_key=True)
title = models.CharField(max_length=50)
content = RichTextField(blank=True, null=True)
# content = models.TextField()
author = models.CharField(max_length=50)
slug = models.SlugField(max_length=200)
timeStamp = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-timeStamp']
def __str__(self):
return self.title + " by " + self.author
视图.py
def addblog(request):
if request.method == 'POST':
title = request.POST.get('title')
content = request.POST.get('content')
author = request.POST.get('author')
slug = request.POST.get('slug')
blog = Post(title, content, author, slug)
blog.save()
return render(request, 'blog/add_post.html')
add_post.html
{% extends 'base.html' %}
{% block title %}
add post
{% endblock title %}
{% block body %}
<div class="container my-3">
<form action = "{% url 'addblog' %}" method="post">
<div class="form-group">
<label for="title" id="Title">Title</label>
<input type="text" class="form-control" id="title" name="title"/>
</div>
{% csrf_token %}
<div class="form-group">
<label for="content" id="content">Content</label>
<textarea name="content" type='text' class="form-control" cols="10" rows="10"></textarea>
</div>
<div class="form-group">
<label for="author" id="author">Author</label>
<input type="author" class="form-control" name="author"/>
</div>
<button type="submit" class="btn btn-primary my-1" id='contact-button'>Post</button>
</form>
</div>
{% endblock body %}
我猜sno
字段是错误的原因,但我也无法在错误日志中纠正它我得到突出显示的行blog.save()
解决方案
推荐阅读
- apache-kafka - Kafka 消费者使用 AWS_MSK_IAM ClassCastException 错误
- openai-gym - ln: 无法访问 '/root/.mujoco': 权限被拒绝
- python - 使用 NLTK 的令牌出现次数
- javascript - 将 vuejs 2 迁移到 3 后,我收到 webpack 错误 Uncaught ReferenceError: vue is not defined
- python - 为什么 CSS_SELECTOR 不会一直定位到 HTML 标签?
- c++ - 下一个更高的数字,具有相同数量的设置位和一些固定位
- javascript - What is the difference between a key and an identifier in JS?
- php - 使用 oauth2 连接到交换帐户时出现 UnauthorizedException - garethp - php-ews
- string - C 尖锐错误和连接字符串不起作用
- python - 无法写入雪花表但没有返回错误