创建一个简单的“Hello, World!”应用程序并运行在开发服务器上
off999 2024-12-20 17:59 54 浏览 0 评论
Django 是一个高级 Python Web 框架,可以快速开发安全且可维护的网站。它由经验丰富的开发人员构建,可以处理 Web 开发的大部分麻烦,让您专注于编写应用程序,而无需重新发明轮子。如果您是 Django 新手,并且想要深入构建您的第一个应用程序,本博文将帮助您通过运行开发服务器并创建一个简单的“Hello, World!”应用程序来入门。
先决条件
在开始之前,请确保您已安装以下内容:
- Python:Django 是一个基于 Python 的框架,因此必须安装 Python。您可以从 Python 官方网站下载它。
- Pip:Pip 是 Python 的软件包安装程序。它通常在您安装 Python 时包含。
- 虚拟环境(可选但推荐):为 Django 项目创建虚拟环境以有效管理依赖项是一种很好的做法。您可以使用 Python 附带的 venv 创建虚拟环境。
设置 Django
1. 安装 Django
首先,使用 pip 安装 Django。打开终端并运行以下命令:
pip install django这将安装最新版本的 Django。您可以通过运行以下命令检查安装是否成功:
django-admin --version2. 创建 Django 项目
安装 Django 后,下一步是创建一个新项目。Django 项目是 Django 实例的设置和配置的集合,以及一个或多个应用程序。
要创建项目,请运行:
django-admin startproject myproject此命令将创建一个名为 myproject 的目录,其结构如下:
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
wsgi.py- manage.py:一个命令行实用程序,可让您与 Django 项目进行交互。
- settings.py:包含 Django 项目的设置和配置。
- urls.py:定义项目的 URL 模式。
- wsgi.py:用作 WSGI 兼容 Web 服务器的入口点。
3. 运行开发服务器
Django 附带一个轻量级开发服务器,您可以使用它在本地运行项目。导航到您的项目目录 (myproject),然后运行以下命令:
python manage.py runserver如果一切设置正确,您应该会看到如下输出:
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
September 03, 2024 - 12:34:56
Django version 4.2, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.打开 Web 浏览器并转到 http://127.0.0.1:8000/。您应该会看到 Django 的默认欢迎页面,这意味着您的开发服务器已启动并运行!
创建一个简单的“Hello, World!”应用程序
现在我们已经设置并运行了 Django 项目,让我们创建一个简单的应用程序来在屏幕上显示“Hello, World!”。
1. 创建新的 Django 应用程序
Django 使用应用程序来组织项目内的代码。要创建新的应用程序,请在项目目录中运行以下命令:
python manage.py startapp hello这将创建一个名为 hello 的新目录,其结构如下:
hello/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
2. 定义视图
Django 中的视图是一个 Python 函数,它接受 Web 请求并返回 Web 响应。在我们的例子中,我们将创建一个返回“Hello, World!”消息的简单视图。
打开 hello/views.py 并按如下方式修改它:
from django.http import HttpResponse
def hello_world(request):
return HttpResponse("Hello, World!")3. 映射 URL
接下来,我们需要将 URL 映射到我们的视图函数。在 hello 目录中创建一个名为 urls.py 的新文件,并添加以下代码:
from django.urls import path
from . import views
urlpatterns = [
path('', views.hello_world, name='hello_world'),
]此文件定义 hello 应用程序的 URL 模式,将根 URL ('') 映射到 hello_world 视图。
现在,打开 myproject/urls.py 并通过修改文件来包含 hello 应用程序的 URL:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', include('hello.urls')), # Add this line
]
4. 运行应用程序
URL 配置完成后,再次启动开发服务器:
python manage.py runserver现在,打开您的 Web 浏览器并导航到 http://127.0.0.1:8000/hello/。您应该会看到页面上显示文本“Hello, World!”!
让我们探索一些与开始使用 Django、运行开发服务器和创建“Hello, World!”应用程序相关的其他演示。这些演示将包括使用 Django 的交互式 shell、修改设置以及使用模板和静态文件扩展“Hello, World!”示例。
演示 1:使用 Django 的交互式 shell
Django 附带一个交互式 Python shell,该 shell 配备了 Django 的环境。此 shell 对于测试和调试非常有用。
启动 Shell:
您可以通过在项目目录中运行以下命令来启动 Django shell:
python manage.py shell这将打开一个 Python 交互式 shell。在这里,您可以与 Django 项目的环境进行交互。例如,您可以导入模型、执行查询和测试代码片段。
与 Shell 交互:
让我们使用 shell 调用我们在上一个示例中创建的视图:
from django.test import Client
client = Client()
response = client.get('/hello/')
print(response.content)此代码片段使用 Django 的测试客户端模拟对 /hello/ URL 的 GET 请求,然后打印响应内容,该内容应显示 b'Hello, World!'。
演示 2:自定义开发服务器端口和 IP
默认情况下,Django 的开发服务器在 127.0.0.1:8000 上运行,但您可以更改端口和 IP 地址。
在不同的端口上运行服务器:
要在不同端口上运行开发服务器,请使用以下命令:
python manage.py runserver 8080这将在端口 8080 上启动服务器。您可以在浏览器中访问 http://127.0.0.1:8080/。
在不同的 IP 地址上运行服务器:
如果您想让本地网络上的其他设备可以访问您的开发服务器,您可以指定一个 IP 地址:
python manage.py runserver 0.0.0.0:8000现在,可以使用您计算机的 IP 地址从同一网络上的任何设备访问服务器。
演示 3:使用模板创建更动态的“Hello, World!”应用程序
虽然使用 HttpResponse 返回纯文本响应很简单,但 Django 的模板引擎功能非常强大。让我们使用模板来增强我们的“Hello, World!”应用程序。
创建模板目录:
首先,在 hello app 目录中创建一个名为 templates 的目录。然后在 templates 目录中创建一个名为 hello.html 的文件:
hello/
templates/
hello.html将以下 HTML 内容添加到 hello.html:
<!DOCTYPE html>
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>This is a Django template example.</p>
</body>
</html>修改视图以使用模板:
更新 hello/views.py 以使用 Django 的模板系统:
from django.shortcuts import render
def hello_world(request):
return render(request, 'hello.html')在这里,我们使用 Django 的 render 函数返回带有渲染的 hello.html 模板的 HttpResponse。
在设置中配置模板:
确保 myproject/settings.py 中 TEMPLATES 设置中的 DIRS 选项包含基本目录:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'hello/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',
],
},
},
]
此配置告诉 Django 在哪里找到模板文件。
运行应用程序:
启动开发服务器:
python manage.py runserver访问 http://127.0.0.1:8000/hello/ 查看呈现的 HTML 页面,其中显示“Hello, World!”和有关 Django 模板的消息。
演示 4:将静态文件 (CSS) 添加到应用程序
CSS、JavaScript 和图像等静态文件在 Web 开发中起着至关重要的作用。让我们添加一个简单的 CSS 文件来设置我们的“Hello, World!”模板的样式。
创建静态目录:
在 hello 应用程序内,创建一个名为 static 的目录。然后,在 static 中创建一个名为 hello 的子目录,并添加一个名为 style.css 的文件:
hello/
static/
hello/
style.css在 style.css 中添加以下 CSS 内容:
body {
background-color: #f0f0f0;
font-family: Arial, sans-serif;
}
h1 {
color: #333;
}
p {
color: #666;
}在模板中链接 CSS:
修改 hello.html 以包含 CSS 文件:
<!DOCTYPE html>
<html>
<head>
<title>Hello, World!</title>
<link rel="stylesheet" type="text/css" href="{% static 'hello/style.css' %}">
</head>
<body>
<h1>Hello, World!</h1>
<p>This is a Django template example with CSS styling.</p>
</body>
</html>请注意 {% static %} 标签,它用于引用 Django 模板中的静态文件。此标签要求将 django.contrib.staticfiles 应用程序包含在 INSTALLED_APPS 设置中。
更新静态文件的设置:
在 myproject/settings.py 中,添加以下配置以确保 Django 知道在哪里找到静态文件:
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'hello/static')]
运行应用程序:
再次启动开发服务器:
python manage.py runserver
转到 http://127.0.0.1:8000/hello/。现在您应该看到带有浅灰色背景和样式文本的页面,这要归功于 CSS 文件。
写在最后:
- 这些演示向您展示了如何利用各种功能来增强基本的 Django 项目:
- 使用 Django 的交互式 shell 进行测试和调试。
- 自定义开发服务器的 IP 地址和端口。
- 合并模板以创建动态 HTML 页面。
- 添加静态文件(如 CSS)来设置应用程序的样式。
- 随着您继续探索 Django,这些基本概念将帮助您构建更强大、更具交互性的 Web 应用程序。Django 框架提供了一套丰富的工具和功能,使其成为简单和复杂项目的绝佳选择。
- 最后祝贺您已成功设置 Django 项目,创建了一个简单的应用程序,并显示了“Hello, World!”消息。这是构建更复杂且功能更丰富的 Web 应用程序的基础步骤使用 Django 开发应用程序。
相关推荐
- u盘重装系统蓝屏进不去(u盘装系统重启蓝屏)
-
尊敬的用户您好:可按下面的步骤进行系统盘装系统:1.买一张win7光盘,将系统光盘放入光驱里。2.打开电源,然后观察屏幕的提示,在启动系统之前有按“f2进行bios设置。3.设置启动方式。找到boot...
- win快捷键大全(win快捷键大全表)
-
win快捷键:单独按Windows:显示或隐藏“开始”功能表Windows+BREAK:显示“系统属性”对话框Windows+D:显示桌面或恢复桌面Windows+M:最小化所有窗口Windows...
- u盘突然要格式化怎么回事(用着的u盘突然要格式化)
-
U盘提示格式化的原因可能有以下几点:文件系统损坏:U盘的文件系统可能出现损坏,导致无法正常读取和写入数据。病毒感染:U盘可能被病毒感染,病毒会破坏文件系统或隐藏文件。不兼容的文件系统:U盘可能使用了一...
- 路由器pppoe怎么设置(路由器如何设置pppoe上网)
-
移动宽带PPPOE是不用设置的,你只要把帐号和密码填上其他都不选就能上网。但是要注意连接到你电脑的网线是直接经过一个路由器后连接到猫上的,因为我见过有人是这样连接的猫---路由器---路由器---电脑...
- win7桌面图标设置在哪里(win7桌面图标在哪个文件夹)
-
要调出Win7桌面图标,首先需要进入桌面。可以通过点击任务栏上方的“显示桌面”按钮或按下Windows键+D快捷键进入桌面。在桌面上右键单击空白区域,选择“个性化”,然后选择“更改桌面图标”选项。在弹...
- win7手机壁纸(windows7手机桌面主题)
-
1.首先我们打开手机进入到桌面,找到设置图标点击打开。华为手机如何设置自定义锁屏壁纸2.进入到设置界面之后,点击下方的显示选项。华为手机如何设置自定义锁屏壁纸3.然后我们就可以在显示界面中找到壁纸...
- 怎么开启路由器wifi(怎么开启路由器的dhcp功能)
-
把路由器改为开放网络方法如下:1、打开浏览器,在地址栏输入路由器网关IP地址(路由器背后的标签上有,一般是192.168.1.1),输入登录用户名和密码(一般均为admin);2、登录成功后就显示运行...
- win10加载不出来桌面黑屏(window10加载不出来)
-
方法一、如果是遇到了突发性黑屏首先尝试使用Ctrl+Alt+Delete组合键来进行电脑重启一般重启可以解决大部分黑屏故障。win10电脑黑屏按什么键恢复_win10电脑黑屏一键恢复的方法方法...
- 怎么用火绒关闭win安全中心(win10火绒安全软件怎么关闭)
-
一、火绒防火墙关闭方法在电脑上运行火绒软件后,点击首页界面的“防护中心”,在病毒防护界面可以关闭文件、U盘、邮件等保护功能,。系统防护:在该界面可以关闭系统防护功能,。网络防护:可以关闭网络保护等功...
- 微软应用商店下载手机版(微软应用商店在哪下)
-
、在桌面任务栏找到微软应用商店,点击并打开。2、进入页面后点击【应用】,进入应用页面。3、在页面里往下移动,找到热门应用,找到一个软件,点击进入。4、进入页面后,点击【安装】,软件会自动安装,安装完毕...
- win11系统怎么查看电脑配置(win11怎么查看系统版本)
-
答:win11查看电脑配置步骤如下。1.点击下方任务栏的windows图标或者按下键盘“windows键”打开开始菜单。2.在开始菜单中找到“设置”或“settings”,一般是右上角的齿轮状按钮,3...
- 麦克风没坏但是没声音(麦克风没声怎么回事)
-
几种可能性,供您参考:1、麦是完全好的(其它机子上可以用)2、插孔没有插错3、音量控制里的麦克风并没有静音掉4、声卡驱动已重装过N次,新的旧的都试过了5、音量控制→属性→录音→麦克风下面的勾...
- wps office是干什么的(wps office是干什么的可以卸载吗)
-
WPSOffice一站式办公服务平台,具有可兼容Word、Excel、PPT三大办公组件的不同格式,支持PDF文档的编辑与格式转换集成思维导图、流程图等诸多功...
- 百度网页(百度网页自动翻译怎么设置)
-
1、百度的新闻源网站太多了,基本上大型的商业门户+政府官方的媒体、机构部门都是。2、出现在【百度新闻】里的网站都是新闻源网站。3、怎么判断一个网站是不是新闻源:1)在百度新闻下直接搜网站名字,如果出现...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
