系列
欢迎来到第Djagno学习教程第二章Hello World 入门案例。
在本教程中,我将引导您完成django的Hello World入门案例。
让我们开始吧!
版本
- Django 5.0
- Python 3.10 +
创建项目
安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin,使用 django-admin 创建 hellodworld 项目:
django-admin startproject helloworld
让我们看看创建的项目的目录结构:
helloworld/
manage.py
helloworld/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
- HelloWorld: 项目的容器。
- manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
- HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
- HelloWorld/asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
- HelloWorld/settings.py: 该 Django 项目的设置/配置。
- HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
- HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
启动 mysite 项目
python manage.py runserver
您将在命令行上看到以下输出:
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 30, 2023 - 13:29:36
Django version 5.0, using settings 'helloworld.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
注意:You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
这个提示暂时忽略,跟数据库相关,后面会结合数据库使用。
现在服务器已运行,请使用 Web 浏览器访问 http://127.0.0.1:8000/您会看到"恭喜!" 页面,火箭起飞。有效!
更改端口
默认情况下,该runserver命令在内部 IP 的端口 8000 上启动开发服务器。
如果要更改服务器的端口,请将其作为命令行参数传递。例如,此命令在端口 8080 上启动服务器:
python manage.py runserver 8080
如果要更改服务器的 IP,请将其与端口一起传递。例如,要监听所有可用的公共 IP(如果您正在运行 Vagrant 或想要在网络上的其他计算机上展示您的工作,这很有用),请使用:
python manage.py runserver 0.0.0.0:8000
入门案例
视图和 URL 配置
在创建的 helloworld/helloworld 目录新建一个 views.py 文件,并放入如下代码:
helloworld/helloworld/views.py
python
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ")
接着,绑定 URL 与视图函数。打开 urls.py 文件,将以下代码放入 urls.py 文件中:
helloworld/HelloWorld/urls.py
python
from django.urls import path
from . import views
urlpatterns = [
path("", views.hello, name="hello"),
]
完成后,启动 Django 开发服务器,并在浏览器访问 http://127.0.0.1:8000/hello/:
**注意:**项目中如果代码有改动,服务器会自动监测代码的改动并自动重新载入,所以如果你已经启动了服务器则不需手动重启。
path() 函数
Django path() 可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。
语法格式:
path(route, view, kwargs=None, name=None)
-
route: 字符串,定义 URL 的路径部分。可以包含变量,例如
<int:my_variable>
,以从 URL 中捕获参数并将其传递给视图函数。 -
view: 视图函数,处理与给定路由匹配的请求。可以是一个函数或一个基于类的视图。
-
kwargs(可选): 一个字典,包含传递给视图函数的额外关键字参数。
-
name(可选): 为 URL 路由指定一个唯一的名称,以便在代码的其他地方引用它。这对于在模板中生成 URL 或在代码中进行重定向等操作非常有用。
恭喜您,完成了入门案例!