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

网站框架

一.MVC

M=Model(模型)控制数据库表结构的东西

V=View(视图)负责具体前段输出的内容,比如:颜色,文字,表单等

C=Controller(控制器)具体负责实现的功能,比如:加减乘除,增删改查

二.Router路由

        指的是用户访问的地址,通过router映射到控制器的功能,或者渲染某个页面,做一个任务等等。

三.渲染模板(Template)

用户看到的内容对应VIEW。

四.Django入门命令

1.创建项目

diango-admin startproject mainproject(项目名字)

2. 创建APP

python manage.py startapp firstWEB(名称)

3.创建库表

python manage.py makemigrations

4.执行库表建立

python manage.py migrate

5.模板渲染嵌入语法

{%命令%} {{变量}}

五.搭建简单的web网站

(一)查看html页面

1.使用python manage.py startapp firstWEB(名称)创建

在setting.py钟把firstWEB也添加进去,避免找不到。

就会出现这些文件,需要创建一个templates目录用于放置html文件,以及需要创建一个urls.py作为子路由。

        配置 Django 模板的查找路径。

2.给主路由添加一个路径

这里相当于添加了子路由的路径

3.修改子路由

在子路由/firstWEB/urls.py文件钟调用index,对页面进行渲染

4.修改views.py

        这个目的是当用户访问与这个视图关联的 URL时,Django 会执行这个 index 函数,它会找到 index.html 模板文件,将其内容转换为网页,并将网页发送给用户。

5.在templates目录下新建html,并设置一些内容

6.执行python manage.py runserver点击链接进行页面展示

由于只会跳转到127.0.0.1:8000,需要自己在后面补充路由,示例:在后面加上/fiestWEB(自己创建的目录名称)

(二)使用get/post做一个登录功能

1.预期效果:编写一个具有输入用户名和密码的表单,若用户名和密码都输入了就显示登录成功,否则就失败。

2.步骤

(1)写一个登录页面的HTML

        在templates目录下面创建一个html,这里是使用get,但是这样就会使得我们填写的信息暴露 ,一般采用post。但是使用post的话,需要在method="post"第二行加上{% csrf_token %}解决的是安全性的问题。

<form>: 这是表单的开始标签,用来告诉浏览器“这里是一个用来收集用户输入的表单”。

action="/login/": 这个属性指定了表单数据要发送到哪里。当用户点击提交按钮后,浏览器会把收集到的数据发送到你服务器上 /login/ 这个URL路径。

method="get": 这个属性定义了数据发送的方式。get 方法会把表单数据附加在URL的末尾。

这是页面效果展示

(2)修改views.py

这个示例希望如果接收到用户名和密码就显示“登录成功”如果只有其一或者都没有就显示“登录失败”,如果用post,就需要把GET改成POST

如果这里设定了具体的用户名和密码,例如:

则要输入固定的值都能登录成功。

(3)修改路由

urls.py 文件的作用是告诉 Django,当用户访问某个特定的网址时,应该调用哪个 Python 函数(也就是视图函数)来处理这个请求。这里是建立一个映射关系,将网址http://127.0.0.1:8000/firstWEB/login/(本示例的地址) 和 views.py 文件里的 Login_view函数绑定在一起。

(4)终端输入:python manage.py runserver

接着输入自己设定好的用户名和密码,就会显示

http://www.dtcms.com/a/442013.html

相关文章:

  • 网站做电商销售需要注册吗有没有帮别人做网站
  • 【人工智能-03-04】20250920 人工智能第二学期课程视频《计算机网络技术 》根据视频时长刷分,手动+Python+IDM下载,更改视屏名字
  • LTU-AS:一种具备音频感知、识别、理解的大模型架构
  • Photoshop - Photoshop 工具栏(2)矩形框选工具
  • 湖南网站seo自己免费做网站有什么用
  • 理解Vivado的IP综合策略:“Out-of-Context Module Runs
  • CSS 预处理器:Sass的基本用法、核心特性
  • 【Ai改变生活】PotPlayer 史诗级更新!实时字幕生成+实时翻译!
  • 各大网站vip接口建设一个网站如何做推广
  • 深入理解ArrayList与LinkedList:Java集合框架核心对比(含实战案例+面试考点)
  • Gorm学习笔记 - 概述
  • wordpress 双分页北京朝阳区优化
  • 7-1 社会工程学攻击
  • 浪浪山 iOS 奇遇记:给 APP 裹上 Liquid Glass “琉璃罩”(下集)
  • Leetcode 215. 数组中的第K个最大元素 快速排序 / 堆排序
  • 网站建设排名奇艺地域邢台建设一个企业网站
  • 电子商务网站建设员网站建设维护文档
  • QT肝8天18--用户角色管理
  • 【开题答辩实录分享】以《基于Python的新能源汽车管理系统的设计与实现》为例进行答辩实录分享
  • springboot+vue智慧旅游管理小程序(源码+文档+调试+基础修改+答疑)
  • [创业之路-683]:“行业的分类”
  • MCI评估量表
  • 探索 Docker/K8s 部署 MySQL 的创新实践与优化技巧——高可用与性能调优进阶
  • Coze源码分析-资源库-编辑知识库-前端源码-核心组件
  • 搜索网站排名mj wordpress
  • 网站容量空间一般要多大做装修效果图的网站
  • MySQL-表的操作
  • C++架构全解析:从设计哲学到实战应用
  • wordpress 多级导航网络营销优化外包
  • 视频生成技术Deepfake