Как я могу разделить электронное письмо в 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]