1

私は似たようなトピックを見つけようとしましたが、どれも私にはあまり役に立ちません。

私のエラー(例):

引数'(u'pU6ARMPCgHeyTAGhBWYwxZqLSUtwqWHqnf9MNEfd'、)'およびキーワード引数'{}'を使用して'user_activate'を逆にします。

urls.py:

url(r'^user/activate/([A-Za-z0-9]+)$','users.views.activate', name='user-activate'),

views.py:

def activate(request, key):
    user = User.objects.select_related('profile').get(activation_key=key)
    if user is not None:
       if user.is_active:
           print 'already active'
       else:
          if user.get_profile().check_key_is_valid():
             user.is_active = True
             user.save()
          else:
             user.get_profile().reset_activation_data()
             send_activation_email(user.get_profile().activation_key, user.email)
             print 'key expired'
    else:
        print 'user not found'
    return HttpResponseRedirect(reverse('front'))

models.py:

def send_activation_email(key, email):
    from django.core.urlresolvers import reverse
    path = reverse('user_activate', args=[key])
    from django.contrib.sites.models import Site
    site = Site.objects.get_current().domain
    url = "http://%s%s" % (site, path)

    from django.core.mail import send_mail
    from my_app import settings
    send_mail('Account activation', url, settings.SITE_EMAIL,
        [email], fail_silently=False)

私がここで間違っていることは何ですか?

4

1 に答える 1

3

で逆引きを試​​みているときに、URLにname='user-activate'(ダッシュ付き)'user_activate'という名前を付けました'_'

変化する

path = reverse('user_activate', args=[key])

path = reverse('user-activate', args=[key])
于 2012-10-22T09:15:55.693 に答える