[Day 11] 第一主餐 pt.4-Djgnao,进化

在上一篇我们成功运行了django专案
今天我们要来加点东西,让我们的django成为一个web框架完全体啦
废话不多说,咱们累狗~

开始之前,先debug

好的,让我们重返我们的错误页面

可以看到我们的跳错讯息是DisallowedHost
接着我们转看我们的console

可以看到有个错误讯息如是说

Invalid HTTP_HOST header: '172.16.15.123:8000'. You may need to add '172.16.15.123' to ALLOWED_HOSTS.

这就代表这个IP位址不被django接受,请把他加到允许清单内
那这加上去的方法也非常简单,打开我们stonks_root内的setting.py
可以看到有一行叫做

ALLOWED_HOSTS = []

我们把172.16.15.123加入ALLOWED_HOSTS内,变成这样

ALLOWED_HOSTS = ['172.16.15.123']

然後我们重新执行一次,再进入一次http://172.16.15.123:8000

看到这个火箭就表示成功啦

我的家在url,你的家在url

接着我们再稍微做点修改
但是在修改之前我们先来讲讲url的两三事
我们前面提到过每个IP代表着每个房间位置
可是一个房间总不可能只做一件事
通常会有其他不同的小区域去区分哪个地方该做啥事
这就是url的功用
大家可以看看这个iT邦的url
https://ithelp.ithome.com.tw/articles/10269654
前面https://ithelp.ithome.com.tw 这个东东代表这个地方的网域
简单来说就是一个IP地址的化名,这样大家也比较好记
就跟你打碰面地点在台北市信义区信义路五段7号,大半的人只会觉得这鬼地方在哪
但你讲说在台北101碰面,事情就好办很多了
这就是网域的概念
而後面的articles/10269654就代表着他告诉你要做的事情
如果你可以做,就照着上面的东西做
如果你发现这事情不能做,例如叫你24小时用跑的绕台湾一圈
这时server就会赏你一个404,叫你去看医生
以上就是url的讲解

好的,我们回到django部分
现在我们开启urls.py
你应该会看到下列程序码

"""stonks_root URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
]

现在我们多import两个东西
from django.conf.urls import url
from . import views
一个是url,一个是等等我们要建立的views.py
然後我们的urlpatterns加上
url(r'^$', views.index_page),
前面的r'^$'代表这东东是正规表示法,至於那是啥如果後面有篇幅再详细讲解
现主时你只要知道这东东代表如果後面没啥东西就直接坐後面那件事就好
甚麽事呢
views.index_page
这东西代表着执行views.py内的index_page函式

然後此时你就会发现
阿怎麽没views.py
简单,建立一个就好
建立完views.py後,把这段程序码贴上去

from django.http import HttpResponse

# Create your views here.
def index_page(request):
    return HttpResponse("Hello World!")

这段程序码就代表着当index_page被叫到时,就执行return HTTP为"Hello World!"的内容

好了,写到这边,快来看你的成果吧
一样重新输入http://172.16.15.123:8000/

看到Hello world,你的框架就成功运行啦

到这边,我们终於成功的小幅度修改django程序码
并且平安无事的运行了
下一步我们将会安装资料库,并且跟django串接起来
想知道如何用django做资料库操作,让你在跟主管面试时可以各种吹牛
且待下回分解~


<<:  【Day 7】Replica 的 Quorum 、State machine replication

>>:  LeetCode解题 Day22

【Day 18】QGIS

回到地图 我们在前几天讨论到地图,但是我们不用 Google API,因为怕被收钱钱,我们用的是 O...

就决定是你了 - 阵列系列I

图片来源:tooto1985/js-array-operations 内心剧场之胡言乱语 万能又好...

Day10 Pandas模组二

今天的影片为接续上一部的内容,以及介绍几个简单的统计函数 (还有短短的英文小教室...我要去跟英文老...

第六章 之三

上次提到了在wordpress建置时选择主题的方式,本次就来看一下有关Themes购买,一个是在wo...

Vmware Workstation Pro 16许可证密钥

ZF3R0-FHED2-M80TY-8QYGC-NPKYF YF390-0HF8P-M81RQ-2D...