【问题标题】:how to run a html template on the project's base path 127.0.0.1:8000/ on python-django如何在 python-django 上项目的基本路径 127.0.0.1:8000/ 上运行 html 模板
【发布时间】:2021-10-03 21:47:47
【问题描述】:

我正在学习 Python-Django 我想在项目的基础站点 127.0.0.1:8000/ 上运行一个 html 模板,我不想在 127.0.0.1:8000/polls 或类似的地方运行它。我的 myproject/urls.py 文件看起来像这样

urlpatterns = [
    path('', include('?????')),
    path('admin/', admin.site.urls),
    path('polls/', include('polls.urls'))
]

我不知道用什么来代替 '?????'在 127.0.0.1:8000/

上运行 html 模板

【问题讨论】:

  • 'polls.urls' 或者只是像您在 polls urls.py 文件中所做的那样的视图

标签: python django path django-urls url-pattern


【解决方案1】:

您可以直接将要运行的视图放在 127.0.0.1:8000/ 上。

path('', views.your_view, name='name')

【讨论】:

    【解决方案2】:

    如果您只想将单个页面直接呈现为视图,而不需要额外的上下文,那么最简单和最好的方法是使用基于类的通用视图中的 TemplateView:

    在您的 myproject/urls.py 文件中,将这一行 path('', include('?????')) 替换为以下一行:

    from django.views.generic.base import TemplateView
    
    path('', TemplateView.as_view(template_name='index.html'), name='home'),
    

    如果您想在呈现 html 或发送某些上下文之前使用具有某些逻辑的 FBV,那么为此您必须包含另一个应用程序的 urls.py 文件,并从该应用程序 urls.py 中包含您可以路由到 App 中的视图,该视图将呈现一个 html 文件。

    主项目 urls.py 文件包含你的 app.urls

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

    在应用的 App.urls.py 文件中添加一个路由来查看:

    from django.urls import path
    from . import views
    urlpatterns = [
        path('', views.home, name='home'),
    ]
    

    在views.py中你可以添加一个视图:

    def home(request):
        return render(request, 'index.html') 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 2015-09-29
      • 2013-05-15
      • 2019-08-04
      相关资源
      最近更新 更多