<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                項目app 【forms.py】文件配置 ~~~ # _*_ coding:utf-8 _*_ __author__ = 'canmeng' __date__ = '2018/1/8 12:54' from django import forms from django.contrib.auth.models import User #注冊引入 #用戶登錄 class LoginFrom(forms.Form): username = forms.CharField() password = forms.CharField(widget=forms.PasswordInput) #用戶注冊 class RegistrationFrom(forms.ModelForm): password = forms.CharField(label="password", widget=forms.PasswordInput) password2 = forms.CharField(label="Confirm password", widget=forms.PasswordInput) class Meta: model = User #fields 用于指定表單的字段 fields = ("username", "email") def clean_password2(self): cd = self.cleaned_data if cd['password'] != cd['password2']: raise forms.ValidationError("password do not match.") return cd['password2'] ~~~ view配置 ~~~ # _*_ coding:utf-8 * _*_ from django.shortcuts import render, redirect#redirect跳轉 #引入系統模塊 from django.http import HttpResponse #引入內置用戶管理 from django.contrib.auth import authenticate, login #引入forms類 from .forms import LoginFrom, RegistrationFrom # Create your views here. #登錄函數 def user_login(request): #method是HttpRequest對象的一個常用屬性,可返回POST、GET if request.method == "POST": login_form = LoginFrom(request.POST) #is_valid驗證傳入數據是否合法性 if login_form.is_valid(): #cleaned_data引用一個字典類型數據 cd = login_form.cleaned_data #authenticate檢驗數據庫帳號密碼是否正確 user = authenticate(username=cd['username'], password=cd['password']) #login引入的login()函數,已語句user實例對象作為參數,實現用戶登錄,登錄后調用session if user: #判斷正確返回HttpResponse login(request, user) #redirect跳轉 return redirect("blog:blog_title") #return HttpResponse("Wellcome YOU") else: return HttpResponse("Sorry") if request.method == "GET": login_form = LoginFrom() return render(request, "account/login.html", {"form":login_form}) #注冊函數 def register(request): if request.method == "POST": #用這些數據實例化一個用戶注冊表單 user_form = RegistrationFrom(request.POST) # 驗證數據的合法性 if user_form.is_valid(): new_user = user_form.save(commit=False) new_user.set_password(user_form.cleaned_data['password']) #保存數據 new_user.save() #redirect跳轉 return redirect("blog:blog_title") # return HttpResponse("successfully") else: return HttpResponse("sorry,your can not register") else: # 請求不是 POST,構造一個空表單 user_form = RegistrationFrom() # 渲染模板 # 如果不是 POST 請求,則渲染的是一個空的表單 # 如果用戶通過表單提交數據,但是數據驗證不合法,則渲染的是一個帶有錯誤信息的表單 return render(request, "account/register.html", {"form": user_form}) ~~~ register.html樣板 ~~~ {% extends "base.html" %} {% block title %}帳號注冊{% endblock %} {% block content %} <form action="." method="post">{% csrf_token %} <label for="{{ form.username.id_for_label }}">用戶名</label> <div>{{ form.username }}</div> <label for="{{ form.email.id_for_label }}">郵箱</label> <div>{{ form.email }}</div> <label for="{{ form.password.id_for_label }}">密碼</label> <div>{{ form.password }}</div> <label for="{{ form.password2.id_for_label }}">確認密碼</label> <div>{{ form.password2 }}</div> <input type="submit" value="注冊"> </form> {% endblock %} ~~~ **增加注冊內容【手機號】** 配置models.py ~~~ # _*_ coding:utf-8 * _*_ from __future__ import unicode_literals from django.db import models from django.contrib.auth.models import User#引入自帶User #新增用戶字段 class UserProfile(models.Model): #OneToOneField通過user字段與User類關聯,一對一 user = models.OneToOneField(User, unique=True, verbose_name=u"帳號") birth = models.DateField(blank=True, null=True, verbose_name=u"生日") phone = models.CharField(max_length=11, null=True, verbose_name=u"手機號") class Meta: verbose_name = u"用戶信息" verbose_name_plural = verbose_name def __str__(self): return 'user{}'.format(self.user.username) ~~~ 生成數據表 配置views ~~~ ~~~ ~~~ from .models import UserProfile #新增用戶表單 #增加手機字段用戶注冊 class UserProfileForm(forms.ModelForm): class Meta: model = UserProfile fields = ("phone", "birth") ~~~ 配置views ~~~ #注冊函數,新增字段 def register(request): if request.method == "POST": user_form = RegistrationFrom(request.POST) #新增字段 userprofile_form = UserProfileForm(request.POST) #新增*userprofile_form.is_valid()驗證數據 if user_form.is_valid()*userprofile_form.is_valid(): new_user = user_form.save(commit=False) new_user.set_password(user_form.cleaned_data['password']) new_user.save() #新增字段 new_profile = userprofile_form.save(commit=False) new_profile.user = new_user new_profile.save() return redirect("blog:blog_title") # return HttpResponse("successfully") else: return HttpResponse("sorry,your can not register") else: user_form = RegistrationFrom() return render(request, "account/register.html", {"form": user_form, "profile": UserProfileForm}) ~~~ 配置register.html ~~~ {# #新增字段#} <label for="{{ profile.birth.id_for_label }}">生日</label> <div>{{ profile.birth }}</div> <label for="{{ profile.phone.id_for_label }}">手機</label> <div>{{ profile.phone }}</div> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看