Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python __init_u2;()接受1个位置参数,但为2个提供了django电子邮件激活_Python_Django - Fatal编程技术网

Python __init_u2;()接受1个位置参数,但为2个提供了django电子邮件激活

Python __init_u2;()接受1个位置参数,但为2个提供了django电子邮件激活,python,django,Python,Django,请帮助解决我的问题,当我在电子邮件中打开激活链接时,它将显示init()接受1个位置参数,但给出2个位置参数,帮助 这是我的注册意见 def signup(request): if request.method == 'POST': user_form = UserCreationForm(request.POST) profile_form = ProfileForm(request.POST) if user_form.is_valid

请帮助解决我的问题,当我在电子邮件中打开激活链接时,它将显示init()接受1个位置参数,但给出2个位置参数,帮助

这是我的注册意见

def signup(request):
    if request.method == 'POST':
        user_form = UserCreationForm(request.POST)
        profile_form = ProfileForm(request.POST)
        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save(commit=False)
            profile = profile_form.save(commit=False)
            user.is_active = False
            user.save()
            profile.save()
            uidb64 = urlsafe_base64_encode(force_bytes(user.pk))
            domain = get_current_site(request).domain
            link=reverse('activate', kwargs={
                        'uidb64': uidb64, 'token': token_generator.make_token(user)})
            activate_url = 'http://'+domain+link
            email_body = 'Hallo '+user.username + 'Tolong gunakan link ini untuk verifikasi akun anda\n' +activate_url
            email_subject = 'Aktivasi Akun Anda'
            email = EmailMessage(
                email_subject,
                email_body,
                'noreply@kantorkecamatanbintanutara.com',
                [profile.email],
            )
            email.send(fail_silently=False)
            return redirect('/pengurusan/signin')
        else:
            return render(request, 'pengurusan/register.html', {
            'user_form': user_form,
            'profile_form': profile_form
            })
这是我的验证观点

class VerificationView(View):
    def get(self, request, uidb64, token):
        try:
            uid = force_text(urlsafe_base64_decode(uidb64))
            user = User.objects.get(pk=uid)
            if not token_generator.check_token(self, user, token):
                return redirect('pengurusan/signup'+'?message'+'User already activated')
            if user.is_active:
                return redirect('pengurusan/signin')
            user.is_active = True
            user.save()
            messages.success(request, 'Account activated successfully')
            return redirect('pengurusan/signup')    
        except Exception as ex:
            pass
        return redirect('pengurusan/signin')
这是我的utils.py

from django.contrib.auth.tokens import PasswordResetTokenGenerator
from six import text_type

class AppTokenGenerator(PasswordResetTokenGenerator):
    
    def _make_hash_value(self, user, timestamp):
        return (text_type(user.is_active)+text_type(user.pk)+text_type(timestamp))

token_generator = AppTokenGenerator()
这是我的URL.py

from django.conf import settings
from django.conf.urls import  include, url
from django.urls import path
from django.conf.urls.static import static
from django.contrib import admin

from . import views

urlpatterns = [
    url(r'^$', views.signin), 
    url(r'index/$', views.index),
    url(r'signin/$', views.signin),
    url(r'signup/$', views.signup),
    url(r'signout/$', views.signout),
    path('activate/<uidb64>/<token>', views.VerificationView, name="activate"),
]

来自django.conf导入设置的

从django.conf.url导入包括
从django.url导入路径
从django.conf.url.static导入静态
从django.contrib导入管理
从…起导入视图
URL模式=[
url(r'^$',views.signin),
url(r'index/$,views.index),
url(r'signin/$,views.signin),
url(r'signup/$,views.signup),
url(r'signout/$,views.signout),
路径('activate/',views.VerificationView,name=“activate”),
]
尝试将
.as_view()
添加到所有基于
类的视图中(不基于函数):

urlpatterns=[
url(r'^$',views.signin),
url(r'index/$,views.index),
url(r'signin/$,views.signin),
url(r'signup/$,views.signup),
url(r'signout/$,views.signout),
路径('activate/',views.VerificationView.as_view(),name=“activate”),
]

post您的
url.py
来自我已经发布的appokay
urlpatterns = [
    url(r'^$', views.signin), 
    url(r'index/$', views.index),
    url(r'signin/$', views.signin),
    url(r'signup/$', views.signup),
    url(r'signout/$', views.signout),
    path('activate/<uidb64>/<token>', views.VerificationView.as_view(), name="activate"),
]