Как я могу разделить электронное письмо в Django

Доброе утро Я уже 5 часов сижу над тем, что должно быть простой проблемой. Буду благодарен, если вы сможете прекратить мои страдания. Речь идет о странице приборной панели. Я хочу, чтобы после регистрации пользователя по адресу электронной почты он приветствовал его своим именем (Hello, ....). При регистрации адрес электронной почты всегда один и тот же, name.example@hotmail.de. Я хочу разделить адрес электронной почты и отобразить только имя, но мне удается отобразить только полный адрес электронной почты.

<
@login_required(login_url='login') 
def Example_dashboard(request):
    form = MembersForm()
    current_user = request.user #current_user.split is not working!  
  
    context = {'form': form, "cunrrent_user": current_user}
    return render(request, 'example_dashboard.html', context)
view.py

html

<p>Welcome, {{ current_user}}  </p>
<form action='' method='POST'>
    {%csrf_token%}
    {{ form }}

models.py

class Members(models.Model):
  email = models.CharField(max_length=200, null=True)
  passwort = models.CharField(max_length=200, null=True)

forms.py

class MembersForm(ModelForm):
    class Meta:
        model = Members

        fields = ["studiengang", "kategorien"]

Вы можете сделать это, используя метод split

После current_user = request.user попробуйте следующее:

current_user = current_user.split('@')[0]
current_user = request.user #current_user.split is not working!

Это не сработает, потому что request.user является User объектом, а не String вы не можете разделить объект пользователя, вместо этого вы можете сделать вот так, чтобы разделить email пользователя.

@login_required(login_url='login') 
def Example_dashboard(request):
    form = MembersForm()
    current_user = request.user
    name = current_user.email.split('@')[0] # or .split('.example@hotmail.de')[0]
    context = {'form': form, "cunrrent_user": current_user}
    return render(request, 'example_dashboard.html', context)

Попробуйте это решение. Из-за того, что request.user имеет значение "None". Поэтому вы не можете разделить письмо.

current_user = request.POST.get('email') имя_пользователя = current_user.split('@')[0]

Вернуться на верх