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配置如下:

 from django.urls import path
from . import views urlpatterns = [
path('', views.hello),
path('login/', views.login, name='login'), # 这里设置name,为了在模板文件中,写name,就能找到这个路由
path('book/', views.book, name='book'),
path('movie/', views.movie, name='movie'),
path('book/detail/<book_id>/<catgray>/', views.book_detail, name='detail'),]

b APP的views.py文件配置如下:

 from distutils.command import register

 from django.shortcuts import render, reverse, redirect
from django.http import HttpResponse def hello(request):
context = {}
context['hello'] = 'Hello World!'
return render(request, 'hello.html', context) def login(request):
return render(request, 'login.html', {'articles': 18}) def book(request):
return HttpResponse("this is caoyin read pages") def movie(request):
return render(request, 'index.html', {'articles': 18}) def book_detail(request, book_id, catgray):
text = '文章详情页,该文章ID是:%s,分类是:%s' % (book_id, catgray)
return HttpResponse(text)

c hello.html的文件配置如下:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <ul>
<li><a href="/">首页</a></li>
<li><a href="{% url 'login' %}?next=asd/ ">登录</a></li>
<li><a href="{% url 'book' %}">读书</a></li>
<li><a href="{% url 'movie' %}">电影</a></li>
<li><a href="{% url 'detail' book_id='1' catgray=2 %}">这个是dylan的第一个example</a></li>
</ul> </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/

最新文章

  1. js的异常捕获
  2. AFNetworking 3.0.4 的使用
  3. 【Linux】Linux字体颜色
  4. 把php.exe加入系统环境变量-使用命令行可快速执行PHP命令
  5. linux的webserver配置与管理——创建用户个人主页
  6. WCF 配置文件(三)
  7. 我的PHP之旅--认识PHP
  8. MAC 终端快捷建
  9. Streams Studio配置Build options
  10. 简明的例子讲解position:relative、float、overflow:hidden和inline-block
  11. WeakSelf宏的进化(转载)
  12. Git从远程库克隆
  13. asp.net mvc CodeFirst模式数据库迁移步骤
  14. C# Winform 中使用FTP实现软件自动更新功能
  15. APP耗电量测试
  16. python模块:datetime
  17. 为什么要做A.prototype.constructor=A这样的修正?
  18. 1 R语言介绍
  19. WPF 嵌入字体文件
  20. LeetCode ImplementStrstr

热门文章

  1. Linux配置及指令
  2. 【KakaJSON手册】03_JSON转Model_03_key处理
  3. 最小环-Floyd
  4. 【原】iOS查找私有API
  5. C#简单爬取数据(.NET使用HTML解析器ESoup和正则两种方式匹配数据)
  6. FZU - 1914
  7. .Net之微信小程序获取用户UnionID
  8. 数据的查找和提取[2]——xpath解析库的使用
  9. Linux下手动安装JDK
  10. win8,右键添加notepad++