0

我想将我的字符串保存在 CharField 中,然后将其显示为输入值。但是当我保存它时,我得到了 unicode 字符的价值。前任。

When I type "a" and I save it I got "(u'a',)"

我只想得到“a”

在我的 html 代码中,我有表单:

 <form action="{% url 'edit'%}" method="post">
 {% csrf_token %}
 <input type="text" name="name" value="{{data.name}}" placeholder="{% trans 'Name' %}" required><br>
 <button type="submit">{% trans 'Submit'%}</button>
 </form>

我的看法:

@login_required
def edit(request):
     user = MyUser.objects.get(pk=request.user.pk)
     if request.method == "POST":
        post = request.POST 
        editmodel = user.editmodel_set.all()[0]                 
        editmodel.name = post.get('name')
        shop.save()

和型号:

class EditModel(model.Model):
     name = models.CharField(max_length=100)
     user = models.ForeignKey(settings.AUTH_USER_MODEL) 
4

1 回答 1

3

这不是处理表单的好方法。不要使用数据request.POST直接保存在数据库中。

有关更多信息,请参阅使用 django 文档中的表单

创建模型表单或简单表单,检查发布的数据是否有效,然后将其与适当的数据对象一起保存在数据库中。


如果您仍然想这样做,请将您的代码更新为

editmodel.name = post.getlist('name')[0]
于 2013-11-08T11:04:06.540 回答