1 前记
这次记录的这些东西,主要是自己在搭建个人网站的时候遇到的一些问题记录,不算严格意义上的教程和使用说明。按照目前自己的web水平,去写这方面的教程无疑是误人子弟。因为自己虽然做程序员很多年,但是一直偏重于底层操作系统,驱动及算法的研究。web一直没有怎么玩过,直到最近自己有项目需要了,才自己摸索起来。写这个的目的有两个,一个是自己做个积累,另一个就是为像同样我这样类型的人遇到问题时候,有个参考的地方。有问题的地方还请各位专家指出。共同学习和成长。等到把web做的比较好的时候,使用django写出来一个像样的网站时候,再打算系统性的写一个django方面的专题。
2 基本流程
在跟着网上某大牛的教程学习网站制作的时候,遇到了要从主页跳转到不同html页面的问题。笔者认为,这位大牛写的灰常不错,值得拜读,这里是他的文章链接:HelloDjango - Django博客教程(第二版)_追梦人物的博客 有兴趣的朋友可以进去看一下,写的非常有品味。他把这个问题留给了读者,正好借此契机,研究一下这个方向吧。
通过查阅资料和反复练习,发现在django中不同页面的跳转一般有这几步骤:
第一步:新建html(eg:login.html),并放置如下路径:
project/templates/ 下面
第二步:urls.py配置login.html路径
urlpatterns = [
path(‘login/’,views.login),#添加index/路径配置
]
第三步:views.py定义函数:
def login(request):
return render(request,‘login.html’)
这个是一个基本的流程,也是jdango常用的流程。 jdango一般是通过url链接到不同的html的,这个就是点击login的时候,会链接到views.login
views.login的定义如第三步所示:这里的login.html对应的就是template下面的login.html
3 基本例子
a APP的urls.py配置如下:
1 from django.urls import path 2 from . import views 3 4 urlpatterns = [ 5 path('', views.hello), 6 path('login/', views.login, name='login'), # 这里设置name,为了在模板文件中,写name,就能找到这个路由 7 path('book/', views.book, name='book'), 8 path('movie/', views.movie, name='movie'), 9 path('book/detail/<book_id>/<catgray>/', views.book_detail, name='detail'),]
b APP的views.py文件配置如下:
1 from distutils.command import register 2 3 from django.shortcuts import render, reverse, redirect 4 from django.http import HttpResponse 5 6 def hello(request): 7 context = {} 8 context['hello'] = 'Hello World!' 9 return render(request, 'hello.html', context) 10 11 def login(request): 12 return render(request, 'login.html', {'articles': 18}) 13 14 def book(request): 15 return HttpResponse("this is caoyin read pages") 16 17 18 def movie(request): 19 return render(request, 'index.html', {'articles': 18}) 20 21 22 def book_detail(request, book_id, catgray): 23 text = '文章详情页,该文章ID是:%s,分类是:%s' % (book_id, catgray) 24 return HttpResponse(text)
c hello.html的文件配置如下:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 9 10 <ul> 11 <li><a href="/">首页</a></li> 12 <li><a href="{% url 'login' %}?next=asd/ ">登录</a></li> 13 <li><a href="{% url 'book' %}">读书</a></li> 14 <li><a href="{% url 'movie' %}">电影</a></li> 15 <li><a href="{% url 'detail' book_id='1' catgray=2 %}">这个是dylan的第一个example</a></li> 16 </ul> 17 18 </body>
d index.html 是在带你电影后被跳转过去的,源码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>权利的游戏</title> </head> <body> <h1>Hello World!</h1> <p>caoyin 的 django 测试。</p> {% block mainbody %} <p>original</p> {% endblock %} </body> </html>
4 源码
整个能运行的源码下载请到我github上地址:GitHub - DyLanCao/django_example: my_diango_example
回退到提交:commit 7ec65933d3e1e40b513e3bd779f57264b00442fa 即可
5 备忘
1 参考文档:https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/
作者:虚生 出处:https://www.cnblogs.com/dylancao/ 以音频和传感器算法为核心的智能可穿戴产品解决方案提供商 ,提供可穿戴智能软硬件解决方案的设计,开发和咨询服务。 勾搭热线:邮箱:1173496664@qq.com weixin:18019245820 市场技术对接群:347609188 |
![]() |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2018-09-20 gcc编译参数详解概述
2018-09-20 此心不明,能有何为