标签: django-registration

django-registration密码重置自定义模板未加载

我正在使用django-registration注册用户,但是当我想使用自己的模板进行密码重置时,我得到的是管理模板,而不是我创建的模板.我的模板在myapp/templates/registration/password_reset_form.html中,我的模板加载器设置正确:

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader',
    'django.template.loaders.app_directories.Loader',
    )
Run Code Online (Sandbox Code Playgroud)

我能错过什么?

我正在使用Django 1.4

django django-registration

7
推荐指数
1
解决办法
2299
查看次数

Django OAuth Toolkit - 注册用户

我已经浏览了Django OAuth Toolkit的提供者和资源的文档,但我能找到的只是how to 'authenticate' a user,而不是register用户的方式.

我可以在我的机器上设置所有内容,但不知道如何使用用户名和密码注册用户.我知道我错过了一些非常微妙的东西.如何准确注册用户并获取访问令牌以回复与我的资源服务器通信.

要么

是不是我首先使用普通的Django机制注册用户,然后获得相同的令牌?

python django django-registration django-rest-framework django-oauth

7
推荐指数
2
解决办法
2508
查看次数

在 django-registration 中传播 ?next=

我有一个带有@login_required 装饰器的视图,在打开页面时,如果您没有登录,它会发送您到带有正确的登录表单?next=/url/you/tried/to/see

我的问题是如何将 ?next 值传递给后续表单和激活电子邮件,以便当用户完成激活过程时,他们将被重定向到他们最初尝试访问的视图。

我的 Python'foo 和 Django'foo 很弱,所以请保留 5 岁孩子可以遵循的答案;)

感谢所有的先进。

django django-registration

6
推荐指数
1
解决办法
1369
查看次数

使用django-profiles和django-registration的不同用户配置文件

我的models.py:

USER_TYPES = (                                                                                                                                                                   
    ('D', 'Demo'   ),                                                                                                                                                               
    ('F', 'Free'   ),
    ('P', 'Premium'),                                                                                                                                                        
)                                                                                                                                                                                                                                                                                                                                                                

class BaseProfile(models.Model):                                                                                                                                                 
    user      = models.OneToOneField(User, primary_key=True)                                                                                                                     
    user_type = models.CharField(max_length=1, blank=True, choices=USER_TYPES)                                                                                                           

class DemoProfile(models.Model):                                                                                                                                                 
    user      = models.OneToOneField(User, primary_key=True)                                                                                                                     
    demo      = models.CharField(max_length=10, blank=True) 
    ...

class FreeProfile(models.Model):                                                                                                                                                 
    user      = models.OneToOneField(User, primary_key=True)                                                                                                                     
    free      = models.CharField(max_length=10, blank=True) 
    ...

class PremiumProfile(models.Model):                                                                                                                                                 
    user      = models.OneToOneField(User, primary_key=True)                                                                                                                     
    premium    = models.CharField(max_length=10, blank=True) 
    ...

class ProxyProfile(BaseProfile):                                                                                                                                                 
    class Meta:                                                                                                                                                                  
        proxy = True             
    def get_profile(self):                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
        if self.user_type == 'D':                                                                                                                                              
            return DemoProfile._default_manager.get(user__id__exact=self.user_id)                                                                                              
        elif self.user_type == 'F':                                                                                                                                            
            return FreeProfile._default_manager.get(user__id__exact=self.user_id)                                                                                              
        else:                                                                                                                                                                  
            return …
Run Code Online (Sandbox Code Playgroud)

user-interface django-profiles django-registration

6
推荐指数
1
解决办法
2244
查看次数

自动登录并重新发送电子邮件

我有一个django注册和工作.我想为它添加两个额外的功能,并且在理解登录过程的内部工作方面有点困难.

1)当用户点击激活电子邮件时,它会使帐户处于活动状态,但不会将用户登录,我该怎么做才能这样点击激活链接会使帐户处于活动状态并自动登录用户?这是我的activate功能目前的样子 -

def activate(self, request, activation_key):
    activated = RegistrationProfile.objects.activate_user(activation_key)
    if activated:
        signals.user_activated.send(sender=self.__class__,
                                    user=activated,
                                    request=request)
        login (request, activated) ### if I try this line, it throws an error 'User'        
                                   ### object has no attribute 'backend
    return activated
Run Code Online (Sandbox Code Playgroud)

更新:我能够使用会话添加一个hack来实现这个功能.当然这不是理想的解决方案,但这就是我所拥有的 -

def register(self, request, **kwargs):
    ...        
    new_user.save()
    request.session['username'] = username
    request.session['password'] = password
    return new_user

def activate(self, request, activation_key):
    username = request.session['username']
    password = request.session['password']
    activated = RegistrationProfile.objects.activate_user(activation_key)
    if activated:
        signals.user_activated.send(sender=self.__class__,
                                    user=activated,
                                    request=request)
        user = authenticate(username=username, password=password)
        login(request, user) …
Run Code Online (Sandbox Code Playgroud)

django django-views django-registration

6
推荐指数
1
解决办法
1503
查看次数

获取django-registration和django-profile一起工作

我正在建立一个新的django项目,我想使用提供的应用程序django-registration和django-profile.我安装了两个易于安装和管理,以使django注册工作正常.我的下一步是将django-profile应用程序连接到工作分支.django-registration提供了一个服务,该服务重定向到URL,该URL在settings.py-variable LOGIN_REDIRECT_URL中定义.我的猜测是,我可以简单地粘贴django-profile app的url来连接两者.(例如'/ profiles /').我在"registration.User"上设置了settings.py-variable AUTH_PROFILE_MODULE,(尝试使用django-registration模型!).但我得到一个SiteProfileNotAvailable at/profiles /没有异常提供错误.我尝试按照以下步骤操作:https : //bitbucket.org/ubernostrum/django-registration/src/tip/docs/index.rst https://bitbucket.org/ubernostrum/django-profiles/src/tip/docs/ overview.txt 但我不确定,如果我做的一切都正确,即overview.txt中的这一段

默认情况下,为您的站点创建配置文件模型并AUTH_PROFILE_MODULE适当指定 设置.然后添加profiles 到您的INSTALLED_APPS设置,创建相应的模板并设置URL.为方便链接到配置文件,您的配置文件模型应定义一个get_absolute_url()路由到视图的方法profiles.views.profile_detail,并传递用户名.

所以我的问题是:

  • 这是一个众所周知的错误吗?
  • 这是将'registration.User'设置为AUTH_PROFILE_MODULE的正确方法吗?
  • 什么是"应该定义一个get_absolute_url()路由到视图的方法profiles.views.profile_detail,传递用户名".在overview.txt中?

python authentication django django-registration

6
推荐指数
1
解决办法
1108
查看次数

尝试发送验证邮件时"权限被拒绝"

我正在使用Apache和mod_wsgi在Fedora服务器(Fedora版本15(Lovelock))上运行django网站.最近我尝试使用django-registration app(0.7版)添加注册系统,但不幸的是,当应用程序尝试向新注册的用户发送验证邮件时,我得到了"[Errno 13]权限被拒绝".我已经将项目的设置文件配置为使用gmail帐户以这种方式发送电子邮件:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'myemailaddress@gmail.com'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_PORT = 587
Run Code Online (Sandbox Code Playgroud)

我在使用项目shell时手动导入send_mail时可以发送电子邮件.我没有改变视图或模型中的任何内容.这是注册模板文件:

{% extends "base.html" %}
{% load i18n %}

{% block content %}
<form method="post" action="/accounts/register/">
  {% csrf_token %}
  {{ form }}
  <input type="submit" value="Register"/>
</form>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

[Errno 13] Permission denied
Request Method: POST
Request URL:    http://myip/accounts/register/
Django Version: 1.3.1
Exception Type: error
Exception Value:    
[Errno 13] Permission denied
Exception Location: /usr/lib64/python2.7/socket.py in create_connection, line 571 …
Run Code Online (Sandbox Code Playgroud)

django fedora django-registration

6
推荐指数
1
解决办法
3262
查看次数

Django-registration - 以异步方式发送电子邮件

所以,我在我的项目中使用django-registration来启用我正在构建的应用程序中的用户自注册。我已将 django-registration 配置为向注册用户发送确认电子邮件。

我的settings.py

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'myUser@myCompany.com'
EMAIL_HOST_PASSWORD = 'apassword'
...
ACCOUNT_ACTIVATION_DAYS = 7
Run Code Online (Sandbox Code Playgroud)

但是,在用户填写注册表并单击注册按钮后,页面会一直等待电子邮件发送过程。看起来只有在发送电子邮件后才会收到响应(确认页面)。

我已经阅读了另一个线程,该线程显示了如何在线程中发送电子邮件。有没有办法使用 django-registration 发送电子邮件,以便在发送电子邮件之前不会阻止表单注册提交的响应?我的意思是,我不想修改它django-registration本身。

python django django-registration

6
推荐指数
1
解决办法
1533
查看次数

django-registration(1048,"Column'last_login'不能为null")

我正在尝试在我的简单项目中使用django-registration.

settings.py

# DJANGO REGISTRATION
ACCOUNT_ACTIVATION_DAYS = 7
AUTH_USER_EMAIL_UNIQUE = True
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = 'example@gmail.com'
Run Code Online (Sandbox Code Playgroud)

urls.py

url(r'^accounts/', include('registration.backends.hmac.urls')),
Run Code Online (Sandbox Code Playgroud)

注册模板:

{% extends "index.html" %}
{% block content %}
<h1>Registration</h1>
<form method="post" action="">
    {% csrf_token %}
    <dl class="register">
    {% for field in form %}
        <dt>{{ field.label_tag }}</dt>
        <dd class="clearfix">{{ field }}
        {% if field.help_text %}<div class="clearfix">{{ field.help_text }}</div>{% endif %}
        {% if field.errors %}<div class="myerrors clearfix">{{ field.errors }}</div>{% …
Run Code Online (Sandbox Code Playgroud)

python django django-registration django-1.9

6
推荐指数
2
解决办法
5342
查看次数

如何在将密码保存到用户模型 Django 之前对其进行加密?

我创建了一个用户注册页面,它将用户添加到 Django 中的用户模型中

但保存数据时,密码未加密,即仅存储为文本。当用户尝试登录时,这会产生问题(因为 Django 尝试解密原始密码,但它们都不匹配)。

另外,我正在扩展用户模型,以便添加有关保存在配置文件模型中的用户的更多信息(使用一对一链接)

视图.py

def user_signup(request):
    if request.method == "POST":
        user_form = userSignup(request.POST)
        phone = request.POST['phone']
        address = request.POST['address']
        pincode = request.POST['pincode']
        
        if user_form.is_valid() :
            user = user_form.save()
            auth.login(request,user)
            userdata = User.objects.all()
            for userinfo in userdata:
                if userinfo.username == user.username:
                    user_id=user.id
            update_data = Profile.objects.get(pk = user_id)
            update_data.address=address
            update_data.phone=phone
            update_data.pincode=pincode
            update_data.save()
            return redirect('/')

        else:
            return HttpResponse(" SIGNUP FAILED")

    else:
        form = userSignup()
        profile_form = userSignup_profile()
        return render(request,"user_signup.html",{'form':form, 'profile_form':profile_form})


def user_logout(request):
    auth.logout(request)
    return redirect('/')
Run Code Online (Sandbox Code Playgroud)

用户注册.html

<body>
    <form action="user_signup" …
Run Code Online (Sandbox Code Playgroud)

django django-models django-forms django-registration django-users

6
推荐指数
1
解决办法
1万
查看次数