【发布时间】:2018-03-27 20:18:09
【问题描述】:
我正在尝试在“重新发送激活链接”的登录页面上放置一个链接
重新发送激活链接的模板如下:
{% extends 'base.html' %}
{% block title %}Forgot Your Password?{% endblock %}
{% block content %}
<h1>Resend Account Activation</h1>
<p>Enter your email address below, and we'll email the activation link.</p>
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Send me instructions!">
</form>
</div>
{% endblock %}
我已经使用内置的 accounts/password_reset/ 来进行 password_reset。
如何创建重新发送激活电子邮件的视图。如何可以将类似的代码用于 password_reset 和用于 resend_activation 电子邮件
我有以下代码,用于在某人第一次注册时发送激活链接。
def signup(request):
if request.method == 'POST':
print("inside post")
form = MyUserCreationForm(request.POST)
if form.is_valid():
print("form.is_valid()")
user = form.save(commit=False)
user.is_active = False
user.save()
current_site = get_current_site(request)
subject = 'Activate Your MySite Account'
message = render_to_string('account_activation_email.html', {
'user': user,
'domain': current_site.domain,
'uid': urlsafe_base64_encode(force_bytes(user.pk)).decode(),
'token': account_activation_token.make_token(user),
})
user.email_user(subject, message)
return redirect('account_activation_sent')
else:
print("else")
form = MyUserCreationForm()
print("ending before render")
return render(request, 'signup.html', {'form': form})
和
class MyUserCreationForm(UserCreationForm):
class Meta(UserCreationForm.Meta):
model = User
fields = ("email",)
和
path('signup/', views.signup, name='signup'),
【问题讨论】:
标签: django django-authentication