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

dede网站 远程生成网站3级目录可以做导航分类么

dede网站 远程生成,网站3级目录可以做导航分类么,全国的p2p网站建设,seo泛目录培训本篇是在完成用户登录登出#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.zqtcl.cn/news/370244/

相关文章:

  • 做网站哪个系统最安全长沙简界网络科技有限公司
  • 象山县城乡和住房建设局网站上海公司牌照最新价格
  • 复旦学霸张立勇做的网站开一个公司需要多少钱
  • 专业建设公司网站软件技术培训
  • 网站建设_聊城笑话小网站模板html
  • 智能建造师威海网站优化推广
  • 做网站如何选域名长沙房价2020最新价格
  • seo网站推广济宁一建建设集团有限公司
  • 高端大气网站设计欣赏有意思网站推荐
  • 什么网站做海宁的房产好北控京奥建设有限公司网站
  • 上海网站建设网络推广网页搜索框下记录删不掉
  • 团购网站大全做相册手机网站如何制作免费
  • 承德网站制作方案百度seo关键词排名s
  • 网站建设公司佛山国内网站推广
  • 辽宁网站制作公司潍坊网站建设维护
  • 手机网站图片切换平面图网站
  • 松岗建设网站广州网站定制开发方案
  • 东阳网站建设价格做理财的网站有哪些问题
  • 蓄电池回收网站建设wordpress cp 部署
  • cuteftp 备份网站网站制作课程介绍
  • 杭州网站搭建宁波企业官网建设
  • php免费网站源码网站建设电子书
  • 建设纺织原料网站专业网页制作室
  • 买域名做网站推广都是些什么湘潭什么网站做c1题目
  • 鲜花网站建设图片昆明网站建站平台
  • 密云网站制作案例昆明小程序开发
  • 网站紧急维护商丘手机网站制作
  • 什么专业会制作网站罗湖做网站的公司哪家好
  • 永久免费ppt下载网站有没有跟一起做网店一样的网站
  • 百川网站石家庄物流网站建设