首页 > 解决方案 > 将电子邮件传递到 django 中的路径

问题描述

我有这样的代码: -

path(something/regex_email/, views.func, name="something"),

如果用户在 url 中输入任何电子邮件,/anyemail/那么用户应该被重定向到某个页面......

但这并没有将我重定向到该页面,并且我已经看到了有关此类问题的一些先前建议,但这些建议不起作用。

视图.py

def users(request):
if request.method == 'POST':
    user_email = request.POST.get('').rsplit('/',1)
    print(user_email)
    email = UserApprovedModel.objects.get(email__exact=user_email)
    form = UserRegisterForm(request.POST)
    form.email = email
    if form.is_valid():
        obj = form.save()
        obj.org = request.user.profile.org
        obj.save()
        return redirect('login')
        # username = form.cleaned_data.get('username')
        # messages.success(request, f'Your account has been created! You are now able to log in')
        # return redirect('login')
else:
    form = UserRegisterForm()
user_org = request.user.profile.org
profiles = Profile.objects.filter(org = user_org)
context = {'form': form, 'user_org': user_org.name, 'profiles': profiles}
return render(request, 'users/register.html', context)

标签: djangodjango-templatesdjango-viewsdjango-urlsdjango-registration

解决方案


好吧,您可以尝试将路径添加为:

path('something/<email>/', views.yourView, name='something')

然后您的视图可以将该电子邮件作为参数:

def yourView(request, email):

然后您可以按照您认为合适的方式处理该退货。几乎没有关于您要完成的工作的信息,很难给出更好的答案。希望这可以帮助。


推荐阅读