【无标题】

本文介绍了Django中的动态路由配置,包括使用`path`和`re_path`定义URL模式,并展示了如何通过`include`进行路由分发。此外,详细阐述了视图函数的实现,如注册、登录的处理,包括账号密码的验证和数据库操作,以及登录成功后的重定向操作。
摘要由CSDN通过智能技术生成

动态路由

from django.urls import path,re_path
from urlapp import views
urlpatterns = [
    path('<int:x>/<str:y>/',views.index), # 指明类型
]

路由分发

from django.contrib import admin
from django.urls import path,include
urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include("urlapp.urls"))  # 使用include 实现路由分发,找到子app下的路由文件
]

判断 账号密码views视图

from django.shortcuts import render,redirect
from django.views import View
from django.http import HttpResponse
from myapp.models import User

# Create your views here.
class RegisterView(View):
    def get(self,request):
        return render(request,'register.html')
    def post(self,request):
        # 提取账号密码
        user=request.POST.get('user')
        pwd=request.POST.get('pwd')
        # 判断账号密码是否存在
        try:
            user_data=User.objects.get(user=user)
            return  HttpResponse("账号已存在")
        except Exception as e:
            print(e) # 打印失败的原因
            # 在数据库中新增一个数据
            User.objects.create(user=user,pwd=pwd)
            # return  HttpResponse("注册账号密码")
            return redirect('/login/') # 重定向
class LoginView(View):
    def get(self,request):
        return render(request,'login.html')
    def post(self,request):
        user=request.POST.get('user')
        pwd=request.POST.get('pwd')
        try:
            user_data=User.objects.get(user=user)
        except Exception as e:
            print(e)
            return HttpResponse("用户不存在")
#         用户存在,判断是否一致
        if user_data.pwd==pwd:
            # return HttpResponse("登陆成功")
            return redirect('/index/')
        else:
            return  HttpResponse("密码错误")
class IndexView(View):
    def get(self,request):
        return render(request,'index.html')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值