创建学习笔记主页
创建步骤:
- 映射URL
- 编写视图
- 编写模板(index.html文件)
详细步骤:
- 映射URL:
修改learning_log\urls.py和learning_logs\urls.py里的url模式中的代码,添加需要作为主页的网页地址,将默认的主页映射到我们自己设计的主页。
- 将learning_log\urls.py里的urlpatterns用path()函数
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('learning_logs.urls', namespace='learning_logs')),
# url(r'', include('learning_logs.urls', namespace='learning_logs')), # Django2.0使用djang.urls.path
]
- 将learning_logs\urls.py里的urlpatterns用re_path()函数
from django.conf.urls import url
from django.urls import path, re_path
from . import views
urlpatterns = [
# 主页
# url(r'^$', views.index, name='index'),
re_path('^$', views.index, name='index'),
]
app_name = 'learning_logs'
- 编写视图
在learning_logs/views.py中添加如下函数:
def index(request):
"""学习笔记的主页"""
return render(request, 'learning_logs/index.html')
- 编写模板
在learning_logs/下新建两层目录/templates/learning_logs/,然后再新建index.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Learning Logs Index Page</title>
</head>
<body>
<p>
Learning Log
</p>
<p>
Learning Log helps you keep track of your learning, for any topic you're learning about.
</p>
</body>
</html>
URL设置有错:
在进行URL映射的时候出现一些错误,Django2.2.5中设置url模式时候采用的是path()函数,而不用url函数(《Python编程入门到实践》教材中用的是url函数)。path()函数是django.urls模块中的,url()函数是django.conf.urls模块中的。将learning_log\urls.py和learning_logs\urls.py里的url模式设置函数保持一致比较好。最好都采用新的path()函数来设置url模式。(用url()或者path()都能达到效果,只要函数设置正确)
URL设置错误时报错:
错误显示的是在learning_log\urls.py里的urlpatterns用url()函数时候,url(r'', include('learning_logs.urls', namespace='learning_logs'))
没有设置app_name,没有设置应用名,修改方式在learning_logs\urls.py里添加代码app_name = 'learning_logs'
,显式地为应用设置名称。
TemplateDoesNotExist: learning_logs/index.html,未找到主页
爆出未找到模板主要是在写路径的时候在learning_logs/templates/learning_logs时,把路径名错写成learning_logs/templates/leaning_logs,少写了一个‘r’,所以写路径或者主页名的时候要仔细。
正确添加主页的结果