Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

Django开发之旅

1
django-admin startproject 项目名

可以简单看一下目录结构

1
2
3
4
5
6
7
|-- 项目名   项目的容器
| |-- __init__.py 一个空文件,告诉 Python 该目录是一个 Python 包
| |-- asgi.py 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目
| |-- settings.py 该 Django 项目的设置/配置
| |-- urls.py 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"
| `-- wsgi.py 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目
`-- manage.py 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互

这里先尝试运行一下

1
python3 manage.py runserver 0.0.0.0:8000

584

这里看到一个Django官方的运行画面,这里我们稍微改一下输出一个Hello World

先来定义一个视图函数

views.py

1
2
3
4
from django.http import HttpResponse

def hello(request):
return HttpResponse("Hello world ! ")

绑定路由和视图函数

1
2
3
4
5
6
7
from django.urls import path

from . import views

urlpatterns = [
path("", views.hello, name="hello"),
]

再次运行

585

为了方便自己以后看,这里简单理解一下

path() 函数

1
path(route, view, kwargs=None, name=None)

route: 字符串,定义 URL 的路径部分

view: 视图函数,处理与给定路由匹配的请求(像我们这里就是引用views下的hello)

kwargs(可选): 一个字典,包含传递给视图函数的额外关键字参数

name(可选): 为 URL 路由指定一个唯一的名称,以便在代码的其他地方引用它

模板创建

先写一个最简单的模板

templates/runoob.html

1
<h1>{{ hello }}</h1>

然后向Django说明模板文件的路径,HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为 [os.path.join(BASE_DIR, ‘templates’)]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

声明路径,修改views.py和urls.py

views.py

1
2
3
4
5
6
from django.shortcuts import render

def runoob(request):
context = {}
context['hello'] = 'Hello World!'
return render(request, 'runoob.html', context)

urls.py

1
2
3
4
5
6
7
from django.urls import path

from . import views

urlpatterns = [
path('runoob/', views.runoob),
]

这里先放一放,先去学安全

评论