我想创建一个处理用户登录和用户个人资料创建的模板。我不想使用django-admin。那我该怎么办呢?在没有django-admin的情况下,django文档并没有真正谈论用户登录。
答案 0 :(得分:2)
就用户配置文件创建而言,最好为User模型进行post_save信号回调,如果它不存在则创建配置文件...例如:
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_PROFILE_MODULE='my_app.my_user_profile_model'
添加到您的settings.py
然后,您可以在创建用户后使用request.user.get_profile()
访问视图中的个人资料。
答案 1 :(得分:0)
django.contrib.auth.views.login
接受template_name
参数。您可以在docs中看到示例模板。
答案 2 :(得分:0)
登录请参阅docs创建自己的视图,或者您可以使用自己的模板使用内置视图。
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'}),
要注册,您可以使用django registration
答案 3 :(得分:0)
什么?身份验证a whole page很难提及管理网站。
答案 4 :(得分:0)
尝试:
from django.contrib.auth.models import User
使用create_user(username,email,password)
方法创建没有管理员的用户。
user=User.objects.create_user(username,email,password)
user.save()