django注册用户
来源:互联网 发布:永续债发行条件 知乎 编辑:程序博客网 时间:2024/04/29 05:54
[u][/u][code=Python][/code]models.py:
class UserProfile(models.Model):
#用户姓名
user = models.ForeignKey(User,related_name="profile")
#用户昵称
usermail = models.EmailField()
#用户头像
photo = models.ImageField(upload_to="media/%Y/%m/%d",blank=True,null=True) #用户性别
GENDER_CHOICES =(
(u'M',u'Male'),
(u'F',u'Female'),
)
gender = models.CharField(max_length=2,choices=GENDER_CHOICES)
#用户个性签名
signature = models.TextField(max_length=100)
#用户tag
#tag = models.ManyToManyField(Tag)
#用户居住地
#location = models.CharField(max_length=50)
#生日
birthday = models.DateField(null=True,max_length=20)
def __unicode__(self):
return "%s" %(self.user)
forms.py:
个人资料form的定义
class UserProfileForm(forms.ModelForm):
GENDER_CHOICES =(
(u'M',u'Male'),
(u'F',u'Female'),
)
gender = forms.ChoiceField(label=u'性别',choices=GENDER_CHOICES,
widget=forms.RadioSelect())
birthday = forms.DateField(required=True,widget=SelectDateWidget(years=range(1920,2030)),label='生日')
signature = forms.CharField(label=u'个性签名',widget=forms.Textarea({'size':10000}))
photo = forms.ImageField(label=u'上传你喜欢的头像')
class Meta:
model = UserProfile
exclude = ['user','usermail',]
views.py:
创建资料
@csrf_exempt
@login_required
def create_profile(request):
form = UserProfileForm(request.POST,request.FILES)
if request.method == 'POST' and form.is_valid():
info = UserProfile.objects.create(
gender = form.cleaned_data['gender'],
birthday = form.cleaned_data['birthday'],
signature = form.cleaned_data['signature'],
photo = form.cleaned_data['photo'],
user = request.user,
)
info.save()
return HttpResponseRedirect('/')
个人资料显示:
@login_required
def myprofile(request,public_profile_field=None,
template_name='myprofile.html',extra_context=None):
try:
profile_obj = request.user.get_profile()
except ObjectDoesNotExist:
return HttpResponseRedirect('/accounts/create_profile')
if public_profile_field is not None and not getattr(profile_obj,public_profile_field):
profile_obj = None
if extra_context is None:
extra_context = {}
context = RequestContext(request)
for key,value in extra_context.items():
context[key] = callable(value) and value() or value
return render_to_response(template_name,{'profile':profile_obj},
context_instance=context)
class UserProfile(models.Model):
#用户姓名
user = models.ForeignKey(User,related_name="profile")
#用户昵称
usermail = models.EmailField()
#用户头像
photo = models.ImageField(upload_to="media/%Y/%m/%d",blank=True,null=True) #用户性别
GENDER_CHOICES =(
(u'M',u'Male'),
(u'F',u'Female'),
)
gender = models.CharField(max_length=2,choices=GENDER_CHOICES)
#用户个性签名
signature = models.TextField(max_length=100)
#用户tag
#tag = models.ManyToManyField(Tag)
#用户居住地
#location = models.CharField(max_length=50)
#生日
birthday = models.DateField(null=True,max_length=20)
def __unicode__(self):
return "%s" %(self.user)
forms.py:
个人资料form的定义
class UserProfileForm(forms.ModelForm):
GENDER_CHOICES =(
(u'M',u'Male'),
(u'F',u'Female'),
)
gender = forms.ChoiceField(label=u'性别',choices=GENDER_CHOICES,
widget=forms.RadioSelect())
birthday = forms.DateField(required=True,widget=SelectDateWidget(years=range(1920,2030)),label='生日')
signature = forms.CharField(label=u'个性签名',widget=forms.Textarea({'size':10000}))
photo = forms.ImageField(label=u'上传你喜欢的头像')
class Meta:
model = UserProfile
exclude = ['user','usermail',]
views.py:
创建资料
@csrf_exempt
@login_required
def create_profile(request):
form = UserProfileForm(request.POST,request.FILES)
if request.method == 'POST' and form.is_valid():
info = UserProfile.objects.create(
gender = form.cleaned_data['gender'],
birthday = form.cleaned_data['birthday'],
signature = form.cleaned_data['signature'],
photo = form.cleaned_data['photo'],
user = request.user,
)
info.save()
return HttpResponseRedirect('/')
个人资料显示:
@login_required
def myprofile(request,public_profile_field=None,
template_name='myprofile.html',extra_context=None):
try:
profile_obj = request.user.get_profile()
except ObjectDoesNotExist:
return HttpResponseRedirect('/accounts/create_profile')
if public_profile_field is not None and not getattr(profile_obj,public_profile_field):
profile_obj = None
if extra_context is None:
extra_context = {}
context = RequestContext(request)
for key,value in extra_context.items():
context[key] = callable(value) and value() or value
return render_to_response(template_name,{'profile':profile_obj},
context_instance=context)
0 0
- django注册用户
- django 用户注册系统
- django用户注册
- Django 添加用户注册功能
- Django会话、用户和注册
- python django 用户注册验证登录。。。
- 十四 Django 1.5.4 用户注册
- Django Token验证用户注册邮箱验证
- Django 用户系统 注册 校验 登陆
- Django建教育平台(八)--用户注册
- Django 介绍、安装配置、基本使用、Django 用户注册例子
- django用户注册、登录、注销和用户扩展
- django开发(3)-用户登录注册和认证
- 【django 学习笔记】13-会话、用户和注册
- Django笔记教程:四、会话、注册、以及用户
- Django用户登录与注册——小白教程
- Django笔记---用户注册和登录验证(1)--Post请求
- Django笔记---用户注册和登录验证(2)--数据库储存
- Python shelves模块
- ANSI C标准预定义宏 --使用与C++
- resultset使用
- 关于域控DC不能正常同步GC的解决办法(域控时间超过墓碑时间) 与域控SRV记录
- 快速排序算法和实现
- django注册用户
- CentOS桌面 yum 安装adobe flash player
- IOS Layer的使用
- C语言之枚举变量
- AsyncTask
- C#基础 之 动态串StringBuilder
- Linux系统编程之基础篇
- 黑马程序员:OC学习日记之核心语法二
- CCS使用