python - Django 表单未保存到数据库

标签 python django

我在将表单字段保存到数据库时遇到问题。我知道它没有保存,因为如果我查看 django 中的 Player 模型,总是有 0 数据。如果有人能看一下并纠正我,我将非常感激。

models.py -

from django.db import models

class Player(models.Model):
    player_one_name = models.CharField(max_length=30, default='')
    player_two_name = models.CharField(max_length=30, default='')

forms.py -

from django import forms

class PlayerInfo(forms.Form):
    player_one_name = forms.CharField(max_length=30, label='First player name')
    player_two_name = forms.CharField(max_length=30, label='Second player name')

View .py

from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render, render_to_response
import os
from .forms import PlayerInfo
from .models import Player

def start(request):
    if request.method == 'POST':
        form = PlayerInfo(request.POST)
        if form.is_valid():
            obj = Player()
            obj.player_one_name = form.cleaned_data['player_one_name']
            obj.player_two_name = form.cleaned_data['player_two_name']
            return HttpResponseRedirect('game/')

    else:
        form = PlayerInfo()

        args = {'form': form}
        return render(request, 'start.html', args)

start.html - 用于提交每个玩家的姓名

{% block botRow %}
    <form method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <button type="submit">Submit</button>
    </form>
{% endblock %}

game.html - 用于呈现每个玩家的名字

{% extends 'base.html' %}
{% block midRow %}
    <p>{{ fpn }}</p>
    <p>{{ spn }}</p>
{% endblock %}

最佳答案

请求方法始终全部大写。

if request.method == 'POST':

关于python - Django 表单未保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46918141/

相关文章:

python - 在 python 中转义子进程调用的正确方法

Python - Tkinter - 有趣的 place()

python - 创建神经网络的实例并使用 for 循环对其进行不同学习率的训练。第二个实例之后总是会卡住

python - 在 python 中用坐标数组填充矩阵

python - Django DoesNotExist 最佳实践

python - 等待awaitable_object的值是多少?

django - 在 Django 单元测试中使用 session 对象

python - 如何在html页面上显示模型字段 - Django

python - Django 单元测试,未知列错误

django - 如何将复杂的 Django 查询构建为字符串