Как отобразить метку и заполнитель в django UpdateView? - PullRequest
0 голосов
/ 07 марта 2020

Я пытался обновить вид профиля с помощью UpdateView в Django. Однако, хотя я делаю метки и заполнители отдельно, это не работает!

Вот мой код

view.py:

class UpdateProfileView(UpdateView):

model = models.User
template_name = "users/update-profile.html"
fields = (
    "username",
    "email",
    "departure",
    "order",
    "kakaotalk",
)

def get_form(self, form_class=None):
    form = super().get_form(form_class=form_class)
    form.fields["username"].widget.attrs = {"placeholder": ""}
    form.fields["username"].label = "이름"
    form.fields["username"].help_text = ""
    form.fields["email"].widget.attrs = {"placeholder": ""}
    form.fields["email"].label = "이메일"
    form.fields["departure"].widget.attrs = {"placeholder": ""}
    form.fields["departure"].label = "부서"
    form.fields["order"].widget.attrs = {"placeholder": ""}
    form.fields["order"].label = "기수"
    form.fields["kakaotalk"].widget.attrs = {"placeholder": ""}
    form.fields["kakaotalk"].label = "카카오톡 ID"
    return form

def get_object(self, queryset=None):
    return self.request.user

users / update-profile. html:

{% block content %}


<div class="container lg:w-5/12 md:w-1/2 mx-auto my-10 flex flex-col items-center p-5 border border-gray-500 mt-24">
    <form class="" method="post" action="{% url "users:updateprofile" %}" enctype="multipart/form-data">
        {% csrf_token %}

        <span class="font-bold">{{form.username}}</span>
        <span class="font-bold text-red-600 text-center">{{form.username.errors}}</span>

        <button class="btn mt-10">수정하기</button>
    </form>
</div>

{% endblock content %}

Если я запускаю сервер с этими кодами, он выглядит как

img

метки и заполнители исчезли ...

А также, если я использую {{form}} и {{form.errors}} вместо {{form.username}} и {{form.username.errors}}, я могу видеть метки и заполнители, но похоже,

img

Я не хочу показывать сообщение об ошибке дважды ...!

Поэтому в этом случае как исправить эти коды, чтобы показать заполнители и метки, которые я делаю в view.py А как показать сообщение об ошибке один раз?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...