当前位置: 首页 > news >正文

制作网站联系方式wordpress注册页面模板

制作网站联系方式,wordpress注册页面模板,类似建E网模型网站建设,wordpress小说本篇是在完成用户登录登出#xff0c;密码修改功能后#xff0c;扩展用户注册功能。 关于用户登录、注销、更改密码和重置密码。请查看 Django身份验证初试-CSDN博客 Django登录注销视图-CSDN博客 Django密码修改和重置视图-CSDN博客 用户注册 创建一个表单#xff0c…本篇是在完成用户登录登出密码修改功能后扩展用户注册功能。 关于用户登录、注销、更改密码和重置密码。请查看 Django身份验证初试-CSDN博客 Django登录注销视图-CSDN博客 Django密码修改和重置视图-CSDN博客 用户注册 创建一个表单让用户输入用户名、真实姓名和密码。 编辑位于account应用程序目录中的forms.py文件 from django.contrib.auth.models import Userclass UserRegistrationForm(forms.ModelForm):password forms.CharField(labelPassowrd,widgetforms.PasswordInput)password2 forms.CharField(labelRepeat passowrd,widgetforms.PasswordInput)class Meta:model Userfields (username,first_name,email)def clean_password2(self):cd self.cleaned_dataif cd[password] ! cd[password2]:raise forms.ValidationError(Passwords dont match.)return cd[password2] 表单中包含username,first_name,email字段这些字段讲根据它们对应的模型进行验证。如果用户填写了一个已经存在的用户名将得到一个验证错误。因为username是一个用uniqueTrue定义的字段。添加password和password2两个字段用来确认密码。定义了一个clean_password2方法用于对照第一个密码检查第二个密码如果密码不匹配则不让表单验证。这个检查是在调用is_valid方法时完成的。 Django可以为任何表单字段提供clean_fieldname()方法清楚特定字段的值或引发表单验证错误。表单还包括一个通用的clean()方法来验证整个表单这对于验证相互依赖的字段非常有用。 Django还提供了一个UserCreationForm表单它位于Django .contrib.auth.forms中和刚才创建的表单非常相似。 编辑account应用程序的views.py文件 from .forms import EmailPostForm,CommentForm,SearchForm,UserRegistrationFormdef register(request):if request.method POST:user_form UserRegistrationForm(request.POST)if user_form.is_valid():new_user user_form.save(commitFalse)new_user.set_password(user_form.cleaned_data[password])new_user.save()template account/register_done.htmlcontext {new_user:new_user}return render(request,template,context)else:user_form UserRegistrationForm()template account/register.htmlcontext {user_form:user_form}return render(request,template,context) 这里没有保存用户输入的原始密码而是使用处理加密的用户模型的set_password()方法进行保存以保证安全。 编辑account应用的urls.py文件添加如下URL模式: path(register/,views.register,nameregister), 在account/ template目录下创建一个新模板命名为register.html并使其看起来如下: {% extends base.html %} {% block title %}Create an account{% endblock %} {% block content %}h1Create an account/h1pPlease, sign up using the following form:/pform action. methodpost{{ user_form.as_p }}{% csrf_token %}pinput typesubmit valueCreate my account/p/form {% endblock %} 在同一目录下添加一个模板文件并将其命名register_done.html。将以下代码添加到其中: {% extends base.html %} {% block title %}Welcome{% endblock %} {% block content %}h1Welcome {{ new_user.first_name }}!/h1pYour account has been successfully created. Now you can a href{% url login %}log in/a./p {% endblock %} 用户模型扩展 编辑account应用程序的models.py文件 from django.db import models from django.conf import settingsclass Profile(models.Model):user models.OneToOneField(settings.AUTH_USER_MODEL,on_deletemodels.CASCADE)date_of_birth models.DateField(blankTrue, nullTrue)photo models.ImageField(upload_tousers/%Y/%m/%d,blankTrue)def __str__(self):return Profile for user {}.format(self.user.username) 为了保持代码的泛型请使用get_user_model()方法检索用户模型和AUTH_USER_MODEL设置以便在定义模型与用户模型的关系时引用它而不是直接引用auth用户模型。 用户一对一字段允许您将配置文件与用户关联。on_delete参数使用CASCADE这样当用户被删除时它的相关配置文件也会被删除。照片字段是一个ImageField字段。您需要安装Pillow库来处理图像。 在shell中运行以下命令安装Pillow:python -m pip install pillow 为了让Django在开发服务器上为用户上传的媒体文件提供服务在项目的settings.py文件中添加以下设置: MEDIA_URL /media/ MEDIA_ROOT os.path.join(BASE_DIR, media/) MEDIA_URL是为用户上传的媒体文件提供服务的基本URL,MEDIA_ROOT是媒体文件所在的本地路径。Django动态地构建相对于项目路径的路径以使代码更加通用。 编辑项目的主urls.py文件修改代码如下: from django.conf import settings from django.conf.urls.static import staticif settings.DEBUG:urlpatterns static(settings.MEDIA_URL, document_rootsettings.MEDIA_ROOT) Django开发服务器将负责在开发过程中提供媒体文件(也就是DEBUG设置为True时)。 static()辅助函数适合于开发但不适合生产使用。永远不要在生产环境中使用Django提供静态文件。 编辑account应用程序的admin.py文件并在管理站点中注册Profile模型如下所示: from django.contrib import admin from .models import Profileadmin.register(Profile) class ProfileAdmin(admin.ModelAdmin):list_display [user,date_of_birth,photo] 让用户在网站上编辑自己的个人资料。 将以下导入和模型表单添加到account应用程序的forms.py文件中: class UserEditForm(forms.ModelForm):class Meta:model Userfields (first_name,last_name,email)class ProfileEditForm(forms.ModelForm):class Meta:model Profile UserEditForm:允许用户编辑自己的名字、姓氏和电子邮件这些都是Django内置用户模型的属性。ProfileEditForm:这将允许用户编辑我们保存在自定义概要模型中的概要数据。用户将能够编辑自己的出生日期并上传照片作为个人资料。 编辑account应用程序的views.py文件并导入Profile模型如下所示: login_required def edit(request):if request.method POST:user_form UserEditForm(instancerequest.user,datarequest.POST)profile_form ProfileEditForm(instancerequest.user.profile,datarequest.POST,filesrequest.FILES)if user_form.is_valid() and profile_form.is_valid():user_form.save()profile_form.save()else:user_form UserEditForm(instancerequest.user)profile_form ProfileEditForm(instancerequest.user.profile)template account/edit.htmlcontext {user_form:user_form}return render(request,template,context) 使用login_required装饰器是因为用户必须经过身份验证才能编辑他们的配置文件。UserEditForm用于存储内置用户模型的数据ProfileEditForm用于存储自定义概要模型中的附加概要数据。为了验证提交的数据将执行两个表单的is_valid()方法。如果两个表单都包含有效的数据将保存两个表单调用save()方法来更新数据库中相应的对象。 将以下URL模式添加到account应用程序的urls.py文件中: {% extends base.html %} {% block title %}Edit your account{% endblock %} {% block content %}h1Edit your account/h1pYou can edit your account using the following form:/pform action. methodpost enctypemultipart/form-data{{ user_form.as_p }}{{ profile_form.as_p }}{% csrf_token %}pinput typesubmit valueSave changes/p/form {% endblock %} 表单中包含enctypemultipart/form-data来启用文件上传。 使用HTML表单来提交user_form和profile_form表单。
http://www.pierceye.com/news/767128/

相关文章:

  • 单页站如何做网站seo优化建e网卧室设计效果图
  • 免费做网站的app巩义seo
  • 做金融服务网站赚钱阿里巴巴网站建设论文
  • 四川做网站的公司哪家好免费团购网站模板
  • 网站建设动漫网站模板怎么做的
  • 西安网站制作公司官网wordpress证书关闭
  • 北网站建设优化seo是什么意思
  • 中国seo网站长沙城乡建设网站
  • 没有相应营业执照怎么做网站重庆网站设计公司排名
  • 企业网站手机版商城网站有什么好处
  • 推荐一本学做网站的书温州阀门网站建设
  • 用户要承担暖气费的税吗太原优化排名推广
  • Wordpress外贸网站搭建公司宿迁建设网站
  • 学校网站建设的意义和应用山东淄博网站建设
  • 莱芜网站建设价格低网站vps
  • 长治做网站哪家好赣州注册公司
  • 网站开发从入门到精通做h5的网站哪个好
  • 免费公司网站如何建立设计个人网站好备案吗
  • 建网站和做微信哪个好在线识别图片百度识图
  • php网站开发如何实现删除功能大连大连建设工程信息网站
  • 表格模板免费下载网站wordpress 插件位置
  • wordpress小白能学会吗汕头做网站优化公司
  • 军队营房基础建设网站重庆做网站个人
  • 网站建设怎样中英文网站备案是空间备案还是域名备案
  • 陕西网站制作人力资源服务外包
  • 成都网站建设哪家售后好网站建设费可以计业务费吗
  • 做服装到哪个网站拿货品质好自己制作的网页别人如何访问
  • 榆林哪里做网站网页游戏网站那个好
  • 泰安口碑好的企业建站公司wordpress验证码无效
  • 圣矢网络重庆网站建设优化推广公司好听好记的网站域名