现在我们刷新页面来测试,先登陆一个账号: 用户名 测试开发干货 密码123。 1.点击登陆,提示用户名密码错误。...这里要引入一个新知识点,就是我们前端 想给后端 传数据,发送请求,如果不是表单提交,或者超链接。...要想显示*****,只需要给input标签 的type属性 从text改成password即可 然后我们打开浏览器 再进入到登陆页面看看:127.0.0.1:8000/login/ 可以看到全都已经成功隐藏了...答案是:目前可以直接访问,不信你不登陆试试看,一样可以。那是因我们进入home页面的函数 home() 并没有强制要求 检查登陆状态。 所以django是默认放行的。...django重启,然后刷新页面我们再进行上述测试!
让我们在后台函数home中加上username参数: 好,我们修改了后台views.py ,那么切换回浏览器后,django会自动重启,你需要等待它一下。...然后刷新页面: 可以看到,已经显示出来了,这就是后台如何给前端html返回数据的一个途径。 好了。...让我们切换到浏览器,等待django重启(若中间报错停止了,就手动点击运行),再刷新页面看看效果: 可以看到,左侧的菜单成功显示了。但是我们发现。...因为我们总是从网络上下载,导致资源不统一,我们这里可以采取一些办法,给它纠正过来。...然后把下面的内容 剪切到这个div中来 变成如下图所示: 然后我们把body中的居中样式 给挪到div上: 然后回去刷新页面看看吧。
上一篇,我们学习了Python测试开发django5.templates模板变量传参 如果我们有2个页面home.html和demo.html,两个页面是独立的没有关系的,现在需要从home.html...页,点某个超链按钮,跳转到demo.html页,home.html页面就需要配置demo.html的页面链接 项目目录 ?...文件写入内容 点击跳转demo页面 helloworld\hello\views.py文件写入内容...path('admin/', admin.site.urls), url('^demo$', views.demo), url('^home$', views.home), ] 这样就实现了从home.html
所需的依赖表,自动创建的 # 自己创建的表user以'应用名_表名'的形式创建,app01_user ✨✨不指定id字段和主键等,ORM会自动创建id # 如果你不指定主键 那么orm会自动帮你创建一个名为...直接删除或者注释掉代码,然后执行makemigrations,数据库迁移 ORM实操之数据的增删改查 查询操作 username = request.POST.get('username') # 获取用户post从页面提交的数据...链接 python manage.py makemigrations inspectdb 表名语句反向操作数据库,反向输出sql语句对应的类 ps:如果inspectdb后不跟表名,那么就会将该数据库内的所有表反向解析成类...,无名对应位置参数,有名对应关键字参数 分组了,一定要记得传参数,无名分组传位置参数,有名分组传关键字参数 需要注意的是django2.0版本的变化,path和re_path写路由,django1.0版本用到的是...url写路由,在前端页面写反向解析的时候用到的是url和Django1.0一样,一定要区别开来 上面用参数用数字代替,在实际应用中经常使用数据主键值(视图函数的参数) def index(request
在这里插入图片描述 创建home.html文件 然后在templates文件夹中,创建一个名为home.html的HTML文件: templates/home.html <!...它们是Django模板语言的一部分。 Django模板语言都需要用到{}花括号,块标签{%block name %},用来包裹块内容,表示其间的内容可以自定义,name是块的名称。...blog是从blogs的QuerySet序列中得到的一个实例对象,blog.title是某个实例的title字段,我们通过这种方式获得一片博客的标题,最后生成动态HTML文档。...在使用这个HTML页面之前,我们必须告诉Django在哪里可以找到我们应用程序的模板(注:如果是利用Pycharm创建的Django项目,则会自动生成templates)。...home.html就是展示标题列表的前端页面--被称为“模板”。在每一个应用中都可以有一个专门的模板目录,这个目录的名称必须是templates。
前言 如打开博客园按时间分类标签页【https://www.cnblogs.com/yoyoketang/archive/2018/10.html】,里面是时间参数是动态的,如果我想获取里面的时间参数2018...P 参数year [0-9] 匹配0-9的数字 {4} 匹配4个数字 {1,2} 匹配1-2个数字 r 是raw原型,不转义 ^ 匹配开始 $ 匹配结束 from django.conf.urls import...urls.py中定义name的作用 如果现在有一个home.html页面,还有一个demo.html页面,之前两个页面是独立的不相干的,如果现在需要从home页,点个按钮,跳转到demo.html该如何实现...hello/templates/home.html写入以下内容 <!...) helloworld/urls.py文件内容 from django.conf.urls import url from django.urls import re_path, path from
如果我们打开一个网页,请求网址后,它会去C这层,去哪个路由,要什么样的业务逻辑,展现到哪个页面,都是由这层控制。先去M里面拿取数据,然后渲染到V这层,最终面对的是用户。 ?...console.log(List[i]); }; console.log('--- 同时遍历索引和内容,使用 jQuery.each() 方法 ---') $.each(List...'List': json.dumps(list), }) JavaScript部分: var List = {{ List|safe }}; JavaScript Ajax 动态刷新页面...path('ajax/', views.ajax), 网页前台使用Ajax发送请求,后台处理数据后返回数据给前台,前台不刷新网页动态加载数据 JS 发送ajax请求,后台处理请求并返回status, result... {% endif %} 上面代码是从views.py里分离出来的用来显示最近问题列表的功能,这里分条显示。
这个问题我觉得一定很难,所以先试试不造轮子,直接去下载使用。...所以我怀疑这个应该就是图形生成的必须代码: 将其复制到Home.html最后: 然后我们刷新页面看看效果,注意因为我们引入了js等静态文件,所以我的习惯是打开console看看。...所以改成如下: 不过这里我们去刷新页面可以看到,console并不报错了,但是效果仍然是不对的。...刷新页面,效果如下: 可以看到已经成功,而且进入页面后还有个慢涨动画效果。 接下来我们给其大小位置 重新设计。...从其中具体文字可以看出,我们进入页面时直接把这几个位置的数字传进来即可展示: 然后现在来思考可以做什么吧。
Django模板引擎是Django框架的一个核心组件,用于渲染HTML模板。它使用Django模板语言(DTL)来编写模板文件,支持动态数据、逻辑控制和模板继承等功能。...在Django模板中,除了常规的HTML标记和属性外,还有一些特殊的模板标签和过滤器,用于实现动态数据绑定和逻辑控制。...如果用户已经登录,则在页面中显示欢迎消息,否则显示一个提示让用户登录。for标签for标签用于在模板中进行循环迭代,语法如下:{% for item in items %} {% endfor %}在这个示例中,我们使用for标签遍历products列表,并在HTML页面中显示每个产品的名称和价格。如果products列表为空,则显示一条消息提示没有产品可用。...然后,我们在home.html模板中使用extends标签扩展base.html,并覆盖content块的内容,以在页面中显示自定义的内容。
(只要思想不滑坡,方法总比问题多!)...页面的内容都不会变化的,我想要的是动态网站。 没问题,我也有办法解决。我选择使用字符串替换来实现这个需求。...(这里使用时间戳来模拟动态的数据) """ 根据URL中不同的路径返回不同的内容--函数进阶版 返回HTML页面 让网页动态起来 """ import socket import time sk =...wsgiref 我们利用wsgiref模块来替换我们自己写的web框架的socket server部分: """ 根据URL中不同的路径返回不同的内容--函数进阶版 返回HTML页面 让网页动态起来 wsgiref...httpd.serve_forever() jinja2 上面的代码实现了一个简单的动态,我完全可以从数据库中查询数据,然后去替换我html中的对应内容,然后再发送给浏览器完成渲染。
Cookie的原理 Cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上Cookie,这样服务器就能通过Cookie的内容来判断这个是“谁”了。...直接加在视图类上,但method_decorator必须传 name 关键字参数 如果get方法和post方法都需要登录校验的话就写两个装饰器。...# home.html <!...# home.html <!...== "POST": user = request.POST.get("user") pwd = request.POST.get("pwd") # 从URL
Django form 流程 1、创建类,继承form.Form 2、页面根据类的对象自动创建html标签 3、提交,request.POST 封装到类的对象里,obj=UserInfo(request.POST...) 4、用户输入是否合法 obj.is_valid() 5、全部合法,获取全部内容 obj.clean() 6、只有有不合法 obj.errors 首先关闭跨站请求 #'django.middleware.csrf.CsrfViewMiddleware...=forms.Select(choices=HOST_TYPE_LIST) ) hostname = forms.CharField() #动态...data_tuple = json.loads(data) self.fields['admin'].widget.choices = data_tuple 再次增加数据库数据,直接刷新页面即可读取到新数据...2 3 def home(request): obj = HomeForm.ImportForm() return render(request, 'home/home.html
从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束。在通话过程中,你会向10086发出多个请求,那么这多个请求都在一个会话中。...Cookie的内容来判断这个是“谁”了。...上面的数据只是HTTP的Cookie规范,但在浏览器大战的今天,一些浏览器为了打败对手,为了展现自己的能力起见,可能对Cookie规范“扩展”了一些,例如每个Cookie的大小为8KB,最多可保存500...注意,不同浏览器之间是不共享Cookie的。...三 django中操作cookie Ctrl + Shift + del三个键来清除页面缓存和cookie,将来这个操作你会用的很多。
如果不执行,那么django 并不会去让你models.py中的设置去让sqlite3数据库中发生改变。 命令如下,我们直接在pycharm的终端执行这俩个命令。...django后台是django自带的控制管理 平台用户和数据的 一个页面。进入的路是什么呢?还记得我们urls.py中抄的那个人家自己生成的例子么? 没错,这个admin就是后台的路由。...我们打开home.html,在里面初次显示这个all_links: 然后我们 重启服务,刷新页面看看效果: 可以看到,这俩个超链接已经成功显示了,上面的文案就是我在models.py中设置的def...不过这种写法比较古老,博主答应大家采用新的vue框架进行开发前端页面,使用vue写法之前,我们需要先下载vue,这里有俩种方案: 第一种:轻量级的使用,去官网下载vue.js 然后放入我们django...因篇幅限制,本节内容到此结束
如何让我们的Web服务根据用户请求的URL不同而返回不同的内容呢? 小事一桩,我们可以从请求相关数据里面拿到请求的URL,然后做一个判断。...页面的内容都不会变化的,我想要的是动态网站。 没问题,我也有办法解决。我选择使用字符串替换来实现这个需求。...httpd.serve_forever() 这是一个简单的动态,我完全可以从数据库中查询数据,然后去替换我html中的对应内容,然后再发送给浏览器完成渲染。 这个过程就相当于HTML模板渲染数据。...httpd.serve_forever() 现在的数据是我们自己手写的,那可不可以从数据库中查询数据,来填充页面呢?...jinja2的语法规则写上,其内部就会按照指定的语法进行相应的替换,从而达到动态的返回内容。
你会发现这之后,菜单没有用到扩展/收起功能,这个功能看似不错,但是对于我们目前简单的菜单内容来说,只是徒增了用户项目接口调试的路径,降低了体验的流畅度。所以任何技术和设计都是要有考虑的。...然后我们在welcom.html中 顺手给后台 菜单加上超链接,因为这个菜单什么都不用写,直接放我们后端url:/admin/ 即可,注意前后都有/ 刷新页面,看看点击一下什么效果: 可以看到我们直接跳转到了后端...这里我们学一个新技巧,a标签 如果加上 target属性,就可以不在本页面跳转,而是新打开一个标签页来跳转。以免我们当前页面的内容丢失。...我们刷新页面看看效果: 好了。现在你尝试在里面写字,尝试拖动右下角。...下节预告:django自带的sqlite3数据库和orm使用-吐槽内容存放。
在你的电脑中,解压你从 Bootstrap 网站下载的bootstrap-4.0.0-beta-dist.zip 文件,将文件css/bootstrap.min.css 复制到我们项目的 css 文件夹中...打开settings.py ,滚动到文件底部,在 之后 STATIC_URL,添加以下内容: STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join...现在我们必须在我们的模板中加载静态文件(Bootstrap CSS 文件): templates/home.html {% load static %} %} 刷新页面...Board admin.site.register(Board) 保存admin.py 文件,并在 Web 浏览器上刷新页面: ?
(只要思想不滑坡,方法总比问题多!)...页面的内容都不会变化的,我想要的是动态网站。 没问题,我也有办法解决。我选择使用字符串替换来实现这个需求。...(这里使用时间戳来模拟动态的数据) """ 根据URL中不同的路径返回不同的内容--函数进阶版 返回HTML页面 让网页动态起来:动态网页的本质其实就是字符串的替换 """ import socket...httpd.serve_forever() jinja2 上面的代码实现了一个简单的动态,我完全可以从数据库中查询数据,然后去替换我html中的对应内容,然后再发送给浏览器完成渲染。...jinja2的语法规则写上,其内部就会按照指定的语法进行相应的替换,从而达到动态的返回内容。
这样就可以在Django的其它地方尤其是模板中,通过名称来明确地引用这个URL。 这个强大的特性可以使你仅仅修改一个文件就可以改变全局的URL模式。 2 模板 学到这里,你会许会有个疑问。...web页面应该含有html代码的,为什么我没有看到html页面呢?我的web页面不能单单只是一句话,应该有导航栏,内容栏,底部栏吧。要满足这需求,则需要用到渲染模板的方法来显示内容。...为了方便理解,引用以上篇文章的例子 test目录下新建一个 templates 文件夹, 里面新建一个base.html 和 home.html 新建base.html目的是为了代码复用。...我们的首页 home.html,继承或者说扩展(extends)原来的 base.html,可以简单这样写,重写部分代码(默认值的那一部分不用改)。代码如下: ?...Django模板算是利器,它具有循环、条件判断、常用的标签、过滤器等功能,这能消除我们的刚才的烦恼。 首先,我们应该知道两个知识点。分别是: 1)标签的写法: 使用{% 标签 %}, 例如 ?
在Python Django中,MVC架构的组件如下:模型(Model):负责处理应用程序的数据存储和检索。视图(View):负责处理应用程序的用户界面,以及将数据从模型呈现到用户界面。...Django框架架构Django框架的架构由以下部分组成:请求(Request):在用户发送HTTP请求时,Django会将请求转换为Python对象,该对象包含请求的所有信息。...模板(Template):模板是用于呈现数据的HTML页面。模型(Model):模型定义了应用程序的数据结构和数据访问方式。...urls.py views.py templates/ myapp/ base.html home.html...我们还重载了模型的__str__方法,以便在使用Django的管理界面时更容易查看模型的内容。
领取专属 10元无门槛券
手把手带您无忧上云