您的位置:首页 > 编程语言 > Go语言

备战秋招——记录自己学习的第七天(Django项目难点拆分——利用modelform实现用户验证、修改用户信息)

2019-06-10 23:11 585 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_41643663/article/details/91409116

modelform几乎综合了form和model的功能。是一个强大的模块。
先配置好url:

urlpatterns = [
path('admin/', admin.site.urls),
path('form.html/', views.index),#上一章节,用form定制实现用户验证

path('mf.html/', mf.index),#利用modelform实现用户验证

re_path(r'^edit-mf-(\d+)', mf.edit_index),#利用modelform实现用户信息修改
]

配置好views(视图存放位置为app01---->views----->mf.py):

from django.shortcuts import render
from app01 import models
from django import forms

#modelform
class UserModelForm(forms.ModelForm):
class Meta:
model = models.User
fields = '__all__'

#利用modelform登录
def index(request):
if request.method == "GET":
obj = UserModelForm()
return render(request,'mf.html',{'obj':obj})
elif request.method == 'POST':
obj = UserModelForm(request.POST)
if obj.is_valid():
# print(obj.cleaned_data)
# models.User.objects.create(**obj.cleaned_data)
obj.save()  # 直接将信息存储于数据库
print(obj.errors)
return render(request,'mf.html',{'obj':obj})

#利用modelform修改信息
def edit_index(request,nid):
if request.method == "GET":
model_obj = models.User.objects.get(id=nid)
obj = UserModelForm(instance=model_obj)
return render(request,'mf1.html',{'obj':obj,'nid':nid})
elif request.method == "POST":
model_obj = models.User.objects.get(id=nid)
obj = UserModelForm(request.POST, instance=model_obj)
if obj.is_valid():
obj.save()
return render(request,'mf1.html',{'obj':obj})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐