Django学习第一天(路由模块化,路由反转)以及登录小案例
url和视图函数的基本使用
定义
路由是 Web 框架中的一种机制,用于将用户的 URL 请求映射到相应的处理函数(视图函数)。
用户访问某个 URL → 找到对应的函数来处理这个请求
路由的模块化
模块化
就是将项目当中的url路由分配到不同的应用(app)当中从而实现代码的模块化和可维护性
下面这个是创建一个course
对于每一个django应用,通常会在其目录下创建一个urls.py文件来定义该应用的路由。
下面的course就是我们创建的一个模块
路由的反转
路由反转:
在项目的不同部分,比如(视图,模板)当中,动态的生成url,而无需硬编码url字符串,大大的提高了可维护性和可扩展性
通过路由名字得到url
简而言之:路由反转就是指使用reverse这个方法通过你所定义的路由名获取具体路由
案例实现
创建登录app
python manage.py startapp login主urls当中
导包,创建登录的路由
from django.contrib import admin from django.urls import path,include #视图函数 urlpatterns = [ path("admin/", admin.site.urls), path('login_app/',include('login.urls')), ]login当中的urls里面
分别创建三个路由,login,home,register,创建三个对应的视图函数
from django.urls import path from . import views urlpatterns=[ path('login/',views.login_views,name='login'), path('home/',views.home_views,name='home'), path('register/',views.register_views,name='register') ]在views里面
创建三个视图函数,其中登陆函数当中要有登录验证
from django.shortcuts import render # Create your views here. from django.http import HttpResponseRedirect,HttpResponse from django.urls import reverse def login_views(login): if login.method == 'POST': # 登录成功 return HttpResponseRedirect(reverse('home')) return render(login,'login.html') def home_views(home): return render(home,'home.html') def register_views(register): return render(register,'register.html')模板文件
创建三个HTML文件,完善界面
