python Django博客系统(毕设、课设、学习)

python django博客系统

python 个人博客系统

python 博客管理系统 后端:Python 3.7 django 数据库:MySQL 前端:HTML css js 实现的功能:注册 登录 查看个人信息 修改个人信息 修改密码 发布文章 查看文章 评论 删除评论等等 源码下载:

链接:https://pan.baidu.com/s/1I0ANM-C3ZmKsTxc598gR1Q?pwd=lob3 
提取码:lob3

注册实现代码:

def register(request):
    if request.method != "POST":
        # Django自带的User模型的表单
        form = RegisterForm()
        # 自己通过一对一创建的用户表单
        user_info_form = UserInfoRegisterForm()
    else:
        form = RegisterForm(data=request.POST)
        user_info_form = UserInfoRegisterForm(data=request.POST)
        if form.is_valid() and user_info_form.is_valid():
            new_user = form.save(commit=False)
            new_user.set_password(form.cleaned_data.get(password2))
            new_user.save()
            new_user_info = user_info_form.save(commit=False)
            new_user_info.author = new_user
            new_user_info.save()
            return redirect(login)

    return render(request, registration/register.html, {form:form, user_info_form:user_info_form})

修改用户信息实现代码:

@login_required(login_url=login)
def edit_user(request):
    # 修改用户信息
    user = User.objects.get(username=request.user)  # 获取当前用户
    print("===========",user)
    if str(user) == admin:
        return HttpResponse(admin用户请在管理页面修改用户信息 >>>> <a href="/">返回首页</a>  >>>><a href="/admin">去管理员界面</a>)
    user_info = user.userinfo   # 一对一关系获取
    if request.method != "POST":
        # instance 用来设置以当前信息填充表单
        form = UserForm(instance=user)
        user_info_form = UserInfoForm(instance=user_info)
    else:
        # request.POST 用来获取表单中的文本数据  request.FILES 用来获取表单中上传的二进制文件数据
        user_info_form = UserInfoForm(request.POST, request.FILES, instance=user_info )
        form = UserForm(request.POST, instance=user)
        # 验证两个表单数据的合法性
        if user_info_form.is_valid() and form.is_valid():
            # 不使用表单获取字段的方式单独保存,我们直接保存模型
            user_info.save()
            user.save()
            return redirect(account:person)     # 保存成功跳转到个人中心主页
    return render(request, account/edit_user.html, locals())
经验分享 程序员 微信小程序 职场和发展