当前位置: 首页 > 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.pierceye.com/news/370244/

相关文章:

  • 网站规则购房网官网
  • 苏州市吴江区住房和城乡建设局网站西安市今天发生的重大新闻
  • 网站需求建设关系书赚钱软件学生
  • 长春做网站4435怎么做手机网站
  • 电子政务网站系统微信扫码登录wordpress
  • 设计网站一般要多少钱方维服务公司服务范围
  • 济南外贸网站制作做网站推广每天加班
  • 网站开发虚拟主机系统做网站的新闻
  • 黄骅港信息吧windows优化大师好用吗
  • 网站编辑怎么做哪些知名网站用wordpress
  • 兰州网站seo收费标准小程序和wordpress
  • 北京市网站设计h5制作平台免费推荐
  • 青岛网站设计企业网络营销个人感悟小结
  • 酒店网站源码宁夏网站制作哪家好
  • 租个网站服务器多少钱电子商务网站的建设流程
  • 正规营销型网站定制上海缘震网络科技有限公司
  • 网站建设的目的个人养老金查询
  • 沧州英文模板建站长沙 网站建设公司
  • 广州网站备案公司南昌网站建设网站推广
  • 龙岗外贸网站建设公司博览局网站建设
  • 怎么做淘课网站百度网站优化方案
  • 余姚做网站深圳华强北怎么了
  • 网站建设单元格边距WordPress进
  • 备案后的域名改网站名沪深300指数怎么买
  • 行业网站维护买电脑wordpress
  • 廊坊兼职网站建设网站图片怎么做的高级
  • pc网站转换手机网站wap用jsp源码做网站
  • 重庆慕尚网站建设在线美工
  • 珠海网站设计培训源码网站
  • 中山好的做网站的公司网站seo外包