大家好,我们又见面了,今天我们要做什么呢? 今天 RS 想要让 Django 显示我自己的首页,这样我才可以开始做我想要的功能嘛!
那么我要怎么更改我的首页呢 ?
我现在有一个 html 档:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>RS shop</title> <h1 align="center">RS 的 Django 测试</h1></head><body> <div align="center"> <form method="post" action="./api/username"> 你的名字:<input type="text" name="username" placeholder="name"> <button type="submit">送出</button> </form> </div></body><br><br><footer> <div align="center">Made by RS, 2020-02-07</div></footer></html>
长这样,可以注意到网址是本地端网址:
我的专案架构是
我把要当成首页的 index.html
档,放在 /templates/blog/
底下。
那么该怎么告诉 Django 我的首页在这里呢?
修改 urls.py
urls.py
所定义的是 「告诉 Django,我们接收到这样的一个网址,该怎么做?」,该找出哪一个 html 页面给使用者看呢?
from django.conf.urls import url # 我们在 blog/views.py 里面定义一个 hello 的 functionfrom blog.views import hello urlpatterns = [ # 代表 127.0.0.1:8000/ url(r'^$', hello), # 代表 127.0.0.1:8000/blog/, # 将会执行 blog/views.py 里面的 hello function url(r'^blog$', hello)]
2020-02-08 更新
感谢网友 e96031413 更正,url()
是 django 2.0 以前的用法,现在 django 2.0 之后,都是使用path()
,可以参考 [Python] Django 2.0 以 path 函式设定 urlpatterns,这篇有介绍 path() 该怎么用。
修改 blog/views.py
from django.shortcuts import render def hello(request): context = {} # 表示会载入 templates/blog/index.html return render(request, 'templates/blog/index.html', context)
到底能不能成功呢!
Django 跑起来!
$ python manage.py runserver
最后你将看到
看到网址是 127.0.0.1:8000
,就代表你成功了!
那我要怎么拿到使用者填完的资料呢?
这就是我们明天要提的 API。
单日心得总结
大家应该能明显感觉到,今天这篇文章和前几天的文章很不一样,因为我觉得前几天实在是太贪心了,我很努力在一篇文章中,塞入整天所学习到的内容、想容易让人看得懂的举例,并且还要兼顾系统性、可阅读性,这样的工作量对我来说真的很硬。因为花很多时间在写文章,反而压缩到我学习的时间,所以我做了这样的尝试,限缩文章的主题、让文章的目标更明确,不知道你们的想法如何,如果有任何建议欢迎在底下留言。
我是 RS,这是我的 不做怎么知道系列 文章,我们 明天见。
喜欢我的文章吗? 赶快来看看我都发了什么文章吧:我的文章目录
欢迎阅读我的上一篇: [不做怎么知道系列之Android开发者的30天后端养成故事 Day4] - 动手做做看 #捲起袖子 #初探Django # DjangoHelloWorld
欢迎阅读我的下一篇: [不做怎么知道系列之Android开发者的30天后端养成故事 Day6] - 运用框架的槓桿 #前后端怎么结合 #框架的威力 #Django Template Engine