django - 如何在使用 django 按下 html 按钮时将布尔值保存到数据库中
问题描述
如何将布尔值保存为 true 到数据库也路由到另一个页面。当我们按下继续按钮以使用 django 模型将 True 值保存到 db 时,也会路由到另一个页面作为欢迎页面。
#models.py
class Tutorial(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
is_tutorial = models.BooleanField(verbose_name=_('tutorial'), default=False)
#views.py
def tutorial_page(request):
return render(request, "home/tutorial_page.html")
#urls.py
from . import views as homeview
path('tutorial-page/', homeview.tutorial_page)
#tutorialpage.html
<article>
<h2>demo</h2>
<p>press <a href="https://localhost:8000/welcomepage/">continue</a> to skip the tutorial on next time </p>
</article>
解决方案
您可以按用户找到教程模型并像这样更新它
#models.py
class Tutorial(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
is_tutorial = models.BooleanField(verbose_name=_('tutorial'), default=False)
#views.py
def tutorial_page(request):
return render(request, "home/tutorial_page.html")
def welcomepage(request):
tutorial = Tutorial.objects.filter(user=user).first()
if tutorial:
tutorial.is_tutorial = True
tutorial.save()
return render(request, "home/welcomepage.html")
#urls.py
from . import views as homeview
path('tutorial-page/', homeview.tutorial_page)
path('welcomepage/', homeview.welcomepage)
#tutorialpage.html
<article>
<h2>demo</h2>
<p>press <a href="https://localhost:8000/welcomepage/">continue</a> to skip the tutorial on next time </p>
</article>
#welcomepage.html
<article>
<h2>You are welcome!</h2>
</article>
推荐阅读
- electron - 使用静态文件创建电子 create-react-app 分发
- python - SQLite BETWEEN 日期错误
- docker - 码头工人:码头工人撰写文件“码头工人堆栈部署”
- android - 在对话框首选项的时间选择器中更改数字颜色
- python - 如何从网站下载 .mat 文件?
- python - 为什么这个目录比较程序没有检测到额外的文件?
- python-2.7 - 抓取数据时出错。请给我一些解决方案卡住了几天
- css - 如何在使用“>”定位类时添加悬停过渡
- c# - C# 异步/等待 SmtpClient.SendMailAsync
- android - 基于神经网络的文本分析