簡體   English   中英

django 上的 CharField 輸出為 (<django.forms.fields.CharField object at XXXX> ,)

[英]CharField on django is outputted as (<django.forms.fields.CharField object at XXXX>,)

我想在模板上輸出輸入字段,但輸出為

XXXX 處的 django.forms.fields.CharField 對象

錯誤信息

我該如何解決這個問題? 我嘗試了很多方法來修復它。 但我無法解決這些問題。

源代碼發生錯誤

views.py

from django.shortcuts import render
from . import forms


def index(request):
    form = forms.Page1(request.GET or None)
    if form.is_valid():
        message = 'データ検証に成功しました'
    else:
        message = 'データ検証に失敗しました'
    content = {
        'title': 'とあるウェブアプリ',
        'form': form,
        'message': message,
    }
    return render(request, 'forms.html', content)

forms.py

from django import forms

EMPTY_CHOICES = (
    ('', '-'*10),
)

GENDER_CHOICES = (
    ('man', '男'),
    ('woman', '女')
)


class Page1(forms.Form):
    user_sir_name = forms.CharField(
        label='姓',
        max_length=20,
        required=True,
        widget=forms.TextInput(),
    ),
    user_given_name = forms.CharField(
        label='名',
        max_length=20,
        required=True,
        widget=forms.TextInput(),
    ),
    user_sex = forms.ChoiceField(
        label='性別',
        widget=forms.Select,
        choices=EMPTY_CHOICES + GENDER_CHOICES,
        required=True,
    )
forms.html

{% extends "base.html" %}

{% block content %}
  {{ message }}
  <hr>
  <form method="get" action="">
    {{ form.errors.user_sir_name }}
    <label>{{ form.user_sir_name.label }} {{ form.user_sir_name }}</label><br>

    {{ form.errors.user_given_name }}
    <label>{{ form.user_given_name.label }} {{ form.user_given_name }}</label><br>


    {{ form.errors.user_sex }}
    <label>{{ form.user_sex.label }} {{ form.user_sex }}</label><br>

    <br>

    <input type="submit" value="送信">
  </form>
{% endblock %}

{% load static %}
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="content-language" content="ja">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

    <!-- semantic.css  -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.3/semantic.min.css">

<link rel="stylesheet" type="text/css" href="{% static 'page1/css/style.css' %}">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.9/semantic.min.js"></script>
    <!-- semantic.js  -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.3/semantic.min.js"></script>



    <title>とあるウェブアプリ</title>
<style>


</style>
</head>
<body>
<div class="ui inverted large borderless fixed fluid menu column">
    <a href="/" class="header item"><h1>{{title}}</h1></a>
</div>
<--You can edit contents below: -->
 <div class="ui container" style="min-height:100vh;margin-top: 200px">
    {% block content %}
    {% endblock %}
</div>

<div class="ui inverted stackable footer segment">
    <div class="ui container center aligned">
        <div class="ui horizontal inverted small divided link list">
            <a class="item">© 2019 とあるウェブアプリ</a>
            <a class="item">利用規約</a>
            <a class="item">プライバシーポリシー</a>
        </div>
    </div>
</div>
</body>
</html>

版本信息

Windows10,Python 3.7.5,Django(3, 0, 2, 'final', 0)

模型中的字段后出現昏迷問題,只需將其刪除即可。

所有代碼如a = 1, python 表示為a = (1,)

只需從 forms.py 文件中刪除 (,) 就無需在兩個字段之間給出 ,

表格.py

class Page1(forms.Form):
    user_sir_name = forms.CharField(
        label='姓',
        max_length=20,
        required=True,
        widget=forms.TextInput(),
    )
    user_given_name = forms.CharField(
        label='名',
        max_length=20,
        required=True,
        widget=forms.TextInput(),
    )
    user_sex = forms.ChoiceField(
        label='性別',
        widget=forms.Select,
        choices=EMPTY_CHOICES + GENDER_CHOICES,
        required=True,
    )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM