「Python|网页开发」如何使用Django快速开始进行网页开发:写个Hello World!

本文主要介绍如何从零开始借助django框架快速启动一个网页服务器然后进入编写HTML页面的阶段。

安装django

  • DjangoPython的一个第三方库,里面已经将编写网页需要的代码结构都组织好,帮助我们专注于编写网页的内容而不是自己从头搭建一个网页,所以被称为框架
  • 因为Django是python的第三方库,所以用pip安装即可,运行命令python -m pip install Django进行安装。

创建并启动网页项目

  • 首先,我们需要创建文件夹作为网页开发的项目代码目录。在shell (cmd) 中运行以下命令,将在当前所在目录下创建一个叫作mysite的文件夹作为项目代码的存放目录,mysite也将同时作为项目的名称,创建时根据自己的情况和喜好使用自己喜欢的名称即可:
    django-admin startproject mysite

  • 我们进到这个目录中,将看到目录结构如下(Linux使用tree命令,windows使用dir):

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • 注意:内层的目录名mysite可以自行修改成其他名称

  • 现在,我们可以运行以下命令启动网页项目:
    python manage.py runserver

  • 如果开发好项目之后希望同一个局域网的电脑可以访问你的网页,可以使用python manage.py runserver 0.0.0.0:8000,其他人访问http://你电脑的IP地址:8000/就可以访问你的网页了~

  • 你将看到控制台输出如下信息(代表项目已经启动,使用浏览器访问对应IP即可查看网页内容):

Django version 4.1.4, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
  • 于是我们使用浏览器访问http://127.0.0.1:8000/即可看到如下启动页面:
    在这里插入图片描述
    我们的网页服务器就启动完毕了,接下来我们需要知道要在哪里写我们的网页内容。

在网页项目中创建一个应用

现在我们的网页显示的是Django的默认页面,要展示我们自己的页面,需要先建立一个新的应用,运行如下命令:
python manage.py startapp
运行完毕后,项目目录将变成如下结构:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
	myapp/
	    migrations/
	    	__init__.py
        __init__.py
	    admin.py
	    apps.py
	    models.py
	    tests.py
	    views.py
  • 注意,我们需要在myapp下创建一个urls.py文件存放只跟这个应用相关的url信息,方便管理。

  • 并且需要在mysite/urls.py中指明哪些网址需要在myapp/urls.py中查找相关信息

  • 以及需要在myapp/urls.py中指明某个网址对应的是views.py中哪段处理数据的代码,而views.py中的数据处理代码会将处理结果与HTML页面(待会我们会创建)关联起来,使得用户访问的时候,可以看到我们在HTML页面里面编写的内容

  • 最后我们需要mysite/setting.py中注册我们的应用,这样django程序才能找到我们新创建的应用。在mysite/setting.py中找到列表变量INSTALLED_APPS,然后在列表中添加我们的应用名称,如下:

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    "myapp", # 新增加的
]

创建页面并设置好对应关系

  • 同样为了方便管理我们的代码文件,我们在myapp/目录下新建一个templates/myapp目录用来存放只跟这个应用相关的HTML网页文件(注意templates下面要有一个跟应用myapp同名的文件夹),并在该目录下新建我们之后要存放想展示内容的HTML文件main.html,完成后整个项目目录结构如下:
mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
	myapp/
	    migrations/
	    	__init__.py
	    templates/
	    	myapp/
		    	main.html
        __init__.py
	    admin.py
	    apps.py
	    models.py
	    tests.py
	    views.py
  • 然后我们创建处理对应页面数据代码,在myapp/views.py中写入如下内容:
from django.shortcuts import render

# Create your views here.
def main_view(request):
    page_content = {"data": "Hello Django!"}
    return render(request, "myapp/main.html", page_content)
  • 然后,我们创建myapp应用下的urls.py文件,写入以下内容:
from django.urls import path

from . import views

app_name = "myapp"

urlpatterns = [
    path("main", views.main_view, name="myapp-main-view"),
]

目前为止,我们myapp应用里面的网页内容HTML处理数据的代码(views.main_view)还有网址(http://127.0.0.1:8000/myapp/main)以及完成了对应。接下来我们要让Django服务器知道,当出现http://127.0.0.1:8000/myapp的时候,要在myapp应用找找对应的url对应关系

  • 为此,我们将mysite/urls.py修改为如下内容:
from django.contrib import admin
from django.urls import include, path # 新导入了include()函数

urlpatterns = [
    path("admin/", admin.site.urls),
    path('myapp/', include('myapp.urls', namespace='myapp')), # 新增了项目的urls模块与应用的urls模块的对应关系
]

然后我们用浏览器访问http://127.0.0.1:8000//myapp/main,将会看到我们在HTML中直接编写的Hello World!如下:
在这里插入图片描述
如果我们想使用views.pypage_content字典中data字段的值Hello Django!,则需要将main.html中的内容修改为如下:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>

<h1>{{data}}</h1>

</body>
</html>

{{data}}jinja模板的写法,简单来说就是用双重花括号{{}}将变量名括起来,网页渲染的时候就会将内容渲染成变量对应的值,非常友好。最后我们可以看到页面变化如下:
在这里插入图片描述
之后我们只要专注修改main.html的内容就可以展示任意我们想要展示的内容了。
快去试试吧~

好书推荐:

好课推荐:

写文不易,如果对你有帮助的话,来一波点赞、收藏、关注吧~👇

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明仔的阳光午后

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值