栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python+Django的web应用程序(三)Django入门——创建网页:学习笔记主页

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python+Django的web应用程序(三)Django入门——创建网页:学习笔记主页

按照《Python编程:从入门到实践》这本书的项目三所编写的web应用程序

python+Django的web应用程序(三)Django入门

创建网页:学习笔记主页

使用Django创建网页分三步:

定义URL
编写视图
编写模板

就目前而言,先写一个简单的URL,让Web应用能够正常运行,之后再设计复杂的样式。
只需让主页显示标题和简单的概述

映射URL

用户通过URL来请求网页,目前,基础 URL(http://localhost:8000/)返回默认的Django网站,修改默认URL,将这个基础URL映射到“学习笔记”的主页。
打开项目文件夹learning_log中的文件urls.py,如下所示

打开

变量urlpatterns包含项目中的应用程序的URL。
模块admin.site.urls定义了可在管理网站中请求的所有URL。

为什么我的urls.py里的代码和书上的代码不一样?

那书上的代码八成不能用了,果断找度娘

机智如我

添加进包含learning_logs的URL如下:

path('', include('learning_logs.urls')),


然后就不出意外的出意外了
报错如下:

名字错误:名称“include”未定义 (NameError: name ‘include’ is not defined)
没有导入include模块就不能用,啊,这很合理。

解决办法:
导入include模块

from django.conf.urls import include

或者这样

其实人家提示的有,只是我没看到

运行下服务:

很好又报错,完全在意料之中,根本不慌。

看下错误原因:
模型找不到:没有名为“learning_logs.urls”的模块(ModuleNotFoundError: No module named ‘learning_logs.urls’)

找不到?这不用path包含进去了吗?
结果如下:

好吧,这个确实没有,不过这也说明了添加进去的path的确其作用了。

手动创建urls.py:

代码如下:

"""定义learning_logs的URL模式"""
from django.urls import path
from . import views

app_name = 'learning_logs'
urlpatterns = [
    # 主页
    path('', views.index, name='index'),
]

在 Django 2.0 中,应用程序的命名空间是通过应用程序urls.py的app_name中的变量定义的。

然后,嗯…直接来看报什么错吧

属性错误:模块 'learning_logs.views’视图没有属性“index”(AttributeError: module ‘learning_logs.views’ has no attribute ‘index’)

因为没有编写视图,所以views里面没有属性“index”,合理!

编写视图

视图函数接受请求中的信息,准备好生成网页所需的数据,再将这些数据发送给浏览器
learning_logs中的文件views.py是你执行命令python manage.py startapp时自动生成的

开始编写视图


代码如下:

from django.shortcuts import render

# Create your views here.

def index(request):
    """学习笔记的主页"""
    return render(request, 'learning_logs/index.html')

URL请求与我们刚才定义的模式匹配时,Django将在文件views.py中查找函数index(),再将请求对象传递给这个视图函数。

index.html是接下来要编写的视图模板

编写模板

模板定义了网页的结构。当网页被请求时,Django将填入相关的数据。

在文件夹learning_logs中新建一个文件夹,并将其命名为templates。在文件夹templates中,再新建一个文件夹,并将其命名为learning_logs。(这么做可以将文件详细分类,看着麻烦,但对于维护和修改来说更方便)

在最里面的文件夹learning_logs中,新建一个文件,并将其命名为index.html,再在这个文件中编写如下代码:

学习笔记

学习笔记可以帮助你跟踪你任何主题的学习。


现在访问一下刚设置好的基础URL,看看能不能跳转到index.html
http://localhost:8000/

好了,第一个网页创建完毕。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/869851.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号