当前位置: 首页 > news >正文

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文件,完善界面

http://www.jsqmd.com/news/498752/

相关文章:

  • 2026年储能十大品牌深度解析:技术路线、核心优势与多元应用全景图
  • XML映射
  • Android12 Launcher3文件夹图标溢出问题分析与优化方案
  • Nunchaku-flux-1-dev建筑与工业设计效果图生成案例
  • SolidWorks与Maxwell协同设计:三维平板螺旋线圈的桥接建模技巧
  • CosyVoice语音生成大模型-300M-25Hz实战:软件测试中的语音用例自动化
  • Alpamayo-R1-10B惊艳效果展示:多指令对比——‘Follow vehicle’vs‘Merge right’轨迹差异
  • 一文带你读懂质量管理软件
  • 通义千问1.5-1.8B-Chat-GPTQ-Int4模型部署:ARM架构适配
  • Alibaba DASD-4B Thinking 对话工具 ComfyUI 工作流解读:节点连接与参数优化
  • DP类(动态规划)
  • 戴森球计划终极蓝图库:如何快速提升工厂效率300%的完整指南
  • Java Web 拦截机制实战指南:Filter 与 Interceptor 深度解析
  • ZLMediaKit编译webrtc:从依赖版本到端口映射的实战避坑指南
  • 手把手教你用GLM-OCR:从安装到解析,新手避坑指南
  • Phi-4-reasoning-vision-15B效果展示:同一张财务报表,三种推理模式输出差异对比
  • WSL2新手必看:VcXsrv配置xfce4图形界面的5个常见错误及解决方法
  • 灯光已就位!马来西亚「敦泰益玛目大桥」亮化项目全面竣工!itc投光灯、洗墙灯照亮市民幸福路!
  • CLIP-GmP-ViT-L-14图文匹配测试工具企业运维指南:高可用部署与监控
  • 通义千问3-4B优化技巧:如何写出更好的Prompt来生成高质量代码
  • 6-2一帮一
  • 经营机制方法拆解:从判断到落地的完整框架
  • Web Builder可视化拖拽构建工具:从零到一的完整前端解决方案
  • 戴森吸尘器电池复活终极指南:开源固件解锁隐藏功能,告别32次红灯闪烁
  • ChatGLM3-6B-128K效果对比:与标准版8K模型实测差异
  • 网盘资源搜索工具使用体验分享
  • SiameseAOE中文-base参数详解:StructBERT微调与Pointer Network结构精讲
  • 性能优化工具矩阵:从系统瓶颈到效率提升的全栈解决方案
  • IACheck融合AI审核:花卉种植记录报告如何实现高精度合规审查?
  • 音乐播放器个性化定制:三步实现foobar2000体验升级