现在有人还做网站吗,网站自动生成,wordpress 网络验证,大兴安岭建设局网站文章目录 1、前提条件⭐2、操作步骤总结3、实际操作示例 1、前提条件⭐
将上一节创建的 Django 项目导入到 PyCharm 中。
2、操作步骤总结
#xff08;1#xff09;在 HelloDjango/HelloDjango 目录下#xff0c;新建一个 views.py 文件。 #xff08;2#xff09;在 H… 文章目录 1、前提条件⭐2、操作步骤总结3、实际操作示例 1、前提条件⭐
将上一节创建的 Django 项目导入到 PyCharm 中。
2、操作步骤总结
1在 HelloDjango/HelloDjango 目录下新建一个 views.py 文件。 2在 HelloDjango/HelloDjango/urls.py 文件中配置 URL 路由信息。 3打开终端执行 python manage.py runserver 命令启动开发服务器。 4在浏览器中输入网址 http://127.0.0.1:8000/hello/ 查看效果。 5问题探讨为什么输入 http://127.0.0.1:8000/ 时会报错 6深入探讨参考 Django 源码分析默认路由行为。
3、实际操作示例
1在 HelloDjango/HelloDjango 目录下新建 views.py 文件内容如下
from django.http import HttpResponsedef say_hello(request):return HttpResponse(Hello Django!)
2在 HelloDjango/HelloDjango/urls.py 文件中配置 URL 路由信息内容如下
HelloDjango URL ConfigurationThe urlpatterns list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/4.1/topics/http/urls/
Examples:
Function views1. Add an import: from my_app import views2. Add a URL to urlpatterns: path(, views.home, namehome)
Class-based views1. Add an import: from other_app.views import Home2. Add a URL to urlpatterns: path(, Home.as_view(), namehome)
Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns: path(blog/, include(blog.urls))
-----------------翻译如下↓---------------------
HelloDjango URL 配置urlpatterns 列表将 URL 路由映射到视图。有关更多信息请参阅
https://docs.djangoproject.com/en/4.1/topics/http/urls/
示例
函数视图1. 添加导入from my_app import views2. 将 URL 添加到 urlpatternspath(, views.home, namehome)
基于类的视图1. 添加导入from other_app.views import Home2. 将 URL 添加到 urlpatternspath(, Home.as_view(), namehome)
包含其他 URL 配置1. 导入 include() 函数from django.urls import include, path2. 将 URL 添加到 urlpatternspath(blog/, include(blog.urls))
from django.contrib import admin
from django.urls import path
from HelloDjango import views # 导入 HelloDjango模块的views.py文件 ↓urlpatterns [path(admin/, admin.site.urls),path(hello/, views.say_hello), # 配置路由当用户访问 http://localhost:8000/hello/ 时Django 会调用 say_hello 视图函数]
3打开终端执行运行命令 python manage.py runserver
(django_study_3_11) PS E:\notes\django\django项目学习\03添加一个视图界面\HelloDjango python manage.py runserver
Watching for file changes with StatReloader
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.
October 21, 2024 - 21:43:34
Django version 4.1, using settings HelloDjango.settings
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
4在浏览器中输入网址 http://127.0.0.1:8000/hello/ 查看效果 5问题探讨为什么输入 http://127.0.0.1:8000/ 时报错 翻译一下 屏蔽一下新加的路由 发现界面正常了 现在翻译一下 分析 需要满足两个条件才会显示上述界面
① setting.py 文件中 DEBUGTrue②setting.py 文件中urlpatterns 为初始值
因此 虽然项目默认DEBUGTrue但由于在 urlpatterns 中已经配置了其他路由path(hello/, views.say_hello)并不满足上述两个条件。同时未在 urlpatterns 中配置默认路由例如:path(, views.home)当用户访问根路径 / 时Django 将无法找到匹配的视图因此会出现报错。
⭐注意 写成path(/,views.home)也不对 Django 的 URL 路径不需要也不接受斜杠 / 作为路径的开头。Django 会自动处理 URL 路径的斜杠问题因此在 path() 中的第一个参数应当直接写路径片段而不包含开头的斜杠。 6如果想要深入研究为什么会这么显示请参考django源码