1. 程式人生 > >django項目 crm登錄 註冊

django項目 crm登錄 註冊

取出 使用 rect ror 保存 校驗 esp then 表名

簡便添加數據: 在app下的admin下添加表名: admin.site.register(models.Customer) #前邊的的進行註冊 admin.site.register(models.ClassList) admin.sit.register(mdoels.Campuses) 然後打開網頁輸入admin即可, form 的操作: 1,使用forms.ModelForm:(可以取出表的內容) 除了表內的另外的需要自己添加: 2,def clean(self):(進行自定義校驗)第一種方法 if self.cleaned_data.get(‘password‘) != self.cleaned_data.get(‘re_password‘): self.add_error(‘re_password‘,‘兩次密碼不一致‘) raise ValidationError return self.clean_data 3,class Meta:(對字段進行配置) model = models.UserProfile 進行引入 fieds = ‘__all__‘ 全部 fields = [‘username‘,‘password‘ ] 部分 exclude = [‘is_active‘] 除了 這裏的is_active,在註冊時必須要填寫 labels={ ‘username‘:‘用戶名‘ } error_messages = { ‘username‘:{ ‘required‘:‘必填‘ } } widgets = { ‘password‘:froms.widgets.Passwordput(‘class‘:‘form-control‘) } def __init__(self,*args,**kwargs) super().__init__(*args,**kwargs) for filed in self.fields.values(): filed.widget.attrs.update({‘class‘:‘form-control‘}) 兩種方法來創建賬戶: # form_obj.cleaned_data.pop(‘user_permissions‘) # form_obj.cleaned_data.pop(‘groups‘) # form_obj.cleaned_data.pop(‘re_password‘) # models.UserProfile.objects.create_user(**form_obj.cleaned_data) user = form_obj.save() user.set_password(user.password) user.save() 實例: admin: from django.contrib import admin from crm import models # Register your models here. admin.site.register(models.Customer) admin.site.register(models.ClassList) admin.site.register(models.Campuses) froms: from django import forms from crm import models from django.core.exceptions import ValidationError class RegForm(forms.ModelForm): re_password = forms.CharField(label=‘確認密碼‘,min_length=6, widget=forms.widgets.PasswordInput(attrs={"class": ‘form-control‘})) def clean(self): if self.cleaned_data.get(‘password‘) != self.cleaned_data.get(‘re_password‘): self.add_error(‘re_password‘, ‘兩次密碼不一致‘) raise ValidationError(‘兩次密碼不一致‘) return self.cleaned_data class Meta: model = models.UserProfile fields = ‘__all__‘ # fields = [‘username‘, ‘password‘] exclude = [‘is_active‘, ] labels = { ‘username‘: ‘用戶名‘, ‘name‘: ‘真實姓名‘, ‘password‘: ‘密碼‘, # ‘re_password‘: ‘確認密碼‘, } error_messages = { ‘username‘: { ‘required‘: ‘必填‘, ‘min_length‘: ‘最小長度為6個‘ }, ‘re_password‘:{ ‘min_length‘: ‘最小長度為6個‘ } } widgets = { ‘password‘: forms.widgets.PasswordInput(attrs={"class": ‘form-control‘}), } def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for filed in self.fields.values(): filed.widget.attrs.update({"class": "form-control"}) views: from django.shortcuts import render, redirect, HttpResponse from django.contrib import auth from crm.forms import RegForm from crm import models def login(request): error_msg = ‘‘ if request.method == ‘POST‘: username = request.POST.get(‘username‘) password = request.POST.get(‘password‘) user = auth.authenticate(request, username=username, password=password) if user: auth.login(request, user) return redirect(‘/index/‘) else: error_msg = ‘用戶名或密碼錯誤‘ return render(request, ‘login.html‘, {"error_msg": error_msg}) def reg(request): form_obj = RegForm() if request.method == ‘POST‘: form_obj = RegForm(request.POST) print(form_obj.cleaned_data) if form_obj.is_valid(): print(form_obj.cleaned_data) # 保存數據 # form_obj.cleaned_data.pop(‘user_permissions‘) # form_obj.cleaned_data.pop(‘groups‘) # form_obj.cleaned_data.pop(‘re_password‘) # models.UserProfile.objects.create_user(**form_obj.cleaned_data) # password = form_obj.cleaned_data.get(‘password‘) user = form_obj.save() user.set_password(user.password) user.save() return redirect(‘/login/‘) return render(request, ‘reg.html‘, {"form_obj": form_obj})

django項目 crm登錄 註冊