Try something like this in your email if you are using the sites django app:
http://{{ site.domain }}{% url registration_activate activation_key %}
Or else change site.domain with the DNS of your site. your
If I remember correct, django-registration already contains an example activation_email.txt in its templates, check it out.
Update
I don't think that you should put the activation login in your User class. You definitely cannot do {% url user.registration_activate activation_key %}
since you must pass a View to the url template tag! You cannot create a link without a view function (or a CBV).
What you have to do is to create a view that searches the Profiles for the activation_key and activates it. Check the ActivationView
method of django-registration / registration / backends / default / views.py.
If you want to implement custom logic to your app just sublclass ActivationView
and use your class in the urls.py instead of the default (django-registration / registration / backends / default / urls.py):
url(r'^activate/(?P<activation_key>\w+)/$', ActivationView.as_view(), name='registration_activate'),