换了个教程:https://www.runoob.com/django/django-first-app.html
1. ubuntu 安装 python3, django
sudo apt install python3
即可安装 python
用清华的源安装 django
sudo pip3 install Django -i https://pypi.tuna.tsinghua.edu.cn/simple
2. Hello World
2.1 新建项目 HelloWorld
django-admin
是django管理命令,打一下回车可以看见子命令,其中有 startproject
django-admin startproject HelloWorld
即可新建 HelloWorld 项目,会在当前目录生成 HelloWorld 文件夹,可以
cd HelloWorld
tree
即得文件目录。可以启动项目:
python3 manage.py runserver 0.0.0.0:8000
就可以在自己浏览器上访问了: 127.0.0.1:8000
2.2 改动 HelloWorld
vi HelloWorld/views.py
在其中写如下内容:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ")
这个就是设计了一个动作,在屏幕上显示 "Hello world!" 这个字符串。
vi HelloWorld/urls.py
写入如下内容:
from django.urls import path
from . import views
urlpatterns = [
path('hello/',views.hello),
]
启动项目:
python3 manage.py runserver 0.0.0.0:8000 &
然后访问 127.0.0.1:8000/hello,就会在浏览器里显示 Hello world!
3. 用模板输出网页
3.1 新建输出模板文件
在 HelloWorld 下新建 templates,新建 templates/runoob.html:
<h1>{{ hello }}</h1>
这个应该是规定输出格式的,hello 是一个变量。h1 是格式,类似于 markdown global settings 里面的,我估计是相通的。
3.2 修改 HelloWorld/settings.py
加一个 import os
然后修改 TEMPLATES 中的 DIRS 的值:
'DIRS': [os.path.join(BASE_DIR, 'templates')],
3.3 修改 HelloWorld/views.py
增加如下内容:
from django.shortcuts import render
def runoob(request):
context = {}
context['hello'] = 'Hello World!'
return render(request, 'runoob.html', context)
context 大概是给变量 hello 赋值 Hello World!,render 将 request 和 runoob.html 联系起来,并且把 runoob.html 中的变量 hello 用 context 赋值。
所以,这样就可以反复使用一个格式模板 runoob.html。
3.4 修改 HelloWorld/urls.py
把域名和 views.runoob 这个函数联系起来。
urlpatterns = [
path('',views.hello),
path('runoob/', views.runoob),
]
3.5 检验
访问 127.0.0.1:8000,会触发 path('',views.hello),显示Hello World;访问 127.0.0.1:8000/runoob,会触发 path('runoob/', views.runoob),显示带格式的 Hello World.
3.6 其他电脑访问
修改 HelloWorld/settings.py:
ALLOWED_HOSTS = ['*',]
然后开放防火墙上的端口8000:
sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --reload
即可从内网任何一台电脑访问了。
3.7 公网访问
把项目放在腾讯云服务器上,然后如上运行,即可从公网访问:
xx.xx.xx.xx:8000