【问题标题】:how to show data through input tag如何通过输入标签显示数据
【发布时间】:2021-04-03 07:45:07
【问题描述】:

我正在做一个 Django 项目。在前端我想通过输入标签添加用户数据,但我不知道如何通过输入标签保存数据 我的 models.py 文件是:

class User(AbstractBaseUser):
    full_name       = models.CharField(max_length=255, blank=True, null=True)
    sur_name        = models.CharField(max_length=255, blank=True, null=True)
    email           = models.EmailField(max_length=255 ,unique=True)
    choose_subject  = models.CharField(choices=SUBJECT_CHOICES , max_length=100)
    staff           = models.BooleanField(default=False)
    admin           = models.BooleanField(default=False)
    time_stamp      = models.DateTimeField(auto_now_add=True)
    father_name     = models.CharField(max_length=255)
    father_sur_name = models.CharField(max_length=255)
    mobile_phone_number    = models.IntegerField(blank=True,null=True)
    father_email    = models.EmailField(max_length=255, unique=True)
    fiscal_code     = models.CharField(max_length=20)
    address         = models.CharField(max_length=200 )

我的 register.html 文件的一部分是:

  <div class="card-body">
                    <h2 class="title">Registration Form</h2>
                    <form method="POST">{% csrf_token %}
                        <div class="row row-space">
                            <div class="col-2">
                                <div class="input-group">
                                    <label class="label">Full name</label>
                                    <input class="input--style-4" type="text" name="first_name"{{form.full_name}}>
                                </div>
                            </div>
                            <div class="col-2">
                                <div class="input-group">
                                    <label class="label">Sur name</label>
                                    <input class="input--style-4" type="text" name="last_name"{{form.sur_name}}>
                                </div>
                            </div>
                        </div>
我只希望 Django 模型字段在输入标签中工作

【问题讨论】:

  • 您可以使用value 属性来设置和提取输入标签中的数据。
  • 你能写出语法吗
  • 尝试设置:&lt;input class="input--style-4" type="text" name="first_name" value="{{form.full_name}}"&gt; 设置输入的值。
  • 先生,这仍然不起作用我编辑我的问题并添加我的模型。请看那个

标签: html django django-templates


【解决方案1】:

你必须在views.py文件中创建一个方法,其中的模板和它的逻辑,一个例子可以如下 视图.py

@csrf_exempt
def register(request):
    if request.method == 'POST':
        var1 = request.POST.get('var1')
        var2 = request.POST.get('var2')
        var3 = request.POST.get('var3')

        #Save to the database here

        return render_to_response(
            'home.html',
            {'message': 'Update Success', }
        )
    else:
    #elif request.method == "GET":
        obj = table.objects.all()
        if obj:
            ctx['data'] = obj

        return render(request, template_name, ctx)

并在您的模板中添加一个表单标签

<form method="POST">
    { % csrf_token % }
    <div class="row row-space">
        <div class="col-2">
            <div class="input-group">
                <label class="label">Full name</label>
                <input class="input--style-4" type="text" value={{data.full_name}}>
            </div>
        </div>
        <div class="col-2">
            <div class="input-group">
                <label class="label">Sur name</label>
                <input class="input--style-4" type="text" value={{data.sur_name}}>
            </div>
        </div>
    </div>
    <input type="submit" value="OK">

</form>

参考这个tutorial

【讨论】:

  • 我确实为此做了视图。当我说 {{form}} 时,它正在获取所有数据,但我想通过使用 css 和 javascript 来自定义表单,就像我在这个模板中使用的一样,但是使用 js 和 css 自定义我不能说 {{form.surname} } ETC 。如何使我的表单工作
  • 如果我理解正确,请告诉我,您想在输入字段中显示一些默认值。并且您想使用 CSS 和 js 设置表单样式
  • 是的,这就是我想要的
  • 我想用css和javascript自定义表单
  • 我已经对答案进行了更改。当通过HTML调用register函数时,调用get方法并运行else部分的代码(或request.method == "GET")通过字典将数据发送到模板,然后您可以在模板中显示数据跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
  • 2013-07-30
  • 2019-11-07
  • 1970-01-01
  • 2015-01-10
  • 1970-01-01
  • 2020-09-05
相关资源
最近更新 更多