如何在不使用django管理员的情况下创建userprofile表单?

如何在不使用django管理员的情况下创建userprofile表单?,django,Django,我想创建一个模板,处理用户登录和用户配置文件创建。我不想使用django管理员。那么我该如何管理它呢?django文档并没有太多关于在没有django admin的情况下进行用户登录的内容。django.contrib.auth.views.login接受模板名称参数。您可以在中查看示例模板。有关登录信息,请参阅以创建自己的视图,或者您可以将内置视图与自己的模板一起使用 urlpatterns = patterns('', (r'^login/$',

我想创建一个模板,处理用户登录和用户配置文件创建。我不想使用django管理员。那么我该如何管理它呢?django文档并没有太多关于在没有django admin的情况下进行用户登录的内容。

django.contrib.auth.views.login
接受
模板名称
参数。您可以在中查看示例模板。

有关登录信息,请参阅以创建自己的视图,或者您可以将内置视图与自己的模板一起使用

urlpatterns = patterns('',
                       (r'^login/$', 
                        'django.contrib.auth.views.login', 
                        {'template_name': 'accounts/login.html'}),

                       (r'^logout/$', 
                        'django.contrib.auth.views.logout', 
                        {'template_name': 'accounts/logged_out.html'}),

你可以用什么来注册?关于身份验证,几乎没有提到管理站点。

就用户配置文件创建而言,最好为用户模型创建一个post\u save signal回调,如果用户模型不存在,则创建该配置文件。。例如:

from django.db import models
from django.db.models.signals import post_save
from django.contrib.auth.models import User

class UserProfile(models.Model)
    user = models.ForeignKey(User)
    # ... etc, your user-profile stuff here

def user_save_callback(sender, **kwargs):
    user = kwargs['instance']
    user_profile, user_profile_created = UserProfile.objects.get_or_create(user=user)

post_save.connect(user_save_callback, sender=User)
不要忘记将
AUTH\u PROFILE\u MODULE='my\u app.my\u user\u PROFILE\u model'
添加到您的settings.py

然后,在创建用户后,您可以使用request.user.get_profile()在视图中访问配置文件。

尝试:

from django.contrib.auth.models import User
使用
create\u user(用户名、电子邮件、密码)
方法创建没有管理员的用户

user=User.objects.create_user(username,email,password)
user.save()

关于如何处理用户名和密码的一个非常基本的模板代码将非常有用django文档提供了一个很好的登录模板来帮助您开始,请查看它