用户登录注册(附带头像)
一、流程
model.py ~~> forms.py ~~> views.py ~~> html文件 ~~> urls.py
- models.py:编写用户的模型。
- forms.py:继承forms.ModelForm类,根据用户模型自动生成Filed。
- views.py:视图类,接收forms.py的数据进行校验和存储到数据库中。
- html文件:自己编写form表单进行渲染,不使用系统的form.as_p对表单进行渲染。
- urls.py:映射文件。
二、model.py
from django.db import models
from django.core import validators
class User(model.Model):
css_image = models.ImageField(upload_to='user/', max_length=200, default='user/default.png', verbose_name='头像')
css_name = models.CharField(max_length=20, verbose_name='姓名')
css_password = models.CharField(max_length=20, verbose_name='密码')
css_phone = models.CharField(validators=[validators.RegexValidator(r"1[345678]\d{9}", message='请输入正确格式的手机号码!')], max_length=20, verbose_name='联系电话', unique=True)
注意:
- ImageField需要指定
MEDIA_ROOT和MEDIA_URL,参考django 如何在HMTL中使用媒体media_url - validators自定义验证
三、forms.py
from django import forms
from .models import User
class RegisterForm(forms.ModelForm):
password_repeat = forms.CharField(max_length=20, min_length=5, label='重复密码', widget=forms.PasswordInput)

本文档详细介绍了使用Django3实现用户注册并上传头像的全过程,涵盖了model.py、forms.py、views.py、register.html、urls.py等关键步骤。在forms.py中进行了自定义验证,views.py处理文件上传,html文件实现了表单渲染。同时,文章解答了如何手动上传文件的问题,强调了在处理文件上传时需注意的细节。
最低0.47元/天 解锁文章
754

被折叠的 条评论
为什么被折叠?



