在 django、pycharm 中找不到页面?
Posted
技术标签:
【中文标题】在 django、pycharm 中找不到页面?【英文标题】:Page not found in django, pycharm? 【发布时间】:2020-09-17 18:18:27 【问题描述】:我正在与 django 项目合作创建一个网站 当我设置第一个网址时它可以正常工作,但是当我在 products/new/ 之后添加新网址时,它显示找不到页面
找不到页面 (404) 请求方法:GET 请求网址:http://127.0.0.1:8000/products/new/ 使用 pyshop.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:
这是文件夹,
products.urls.py:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
path('new', views.new)
]
views.py:
from django.http import HttpResponse
from django.shortcuts import render
def index(request):
return HttpResponse('Hello world')
def new(request):
return HttpResponse('New Products!!!!!!!!!!!!!')
apps.py:
from django.apps import AppConfig
class ProductsConfig(AppConfig):
name = 'products'
pyshop.urls.py:
"""pyshop URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('products/', include('products.urls'))
]
这是错误
找不到页面 (404) 请求方法:GET 请求 URL:http://127.0.0.1:8000/products/new/ 使用中定义的 URLconf pyshop.urls,Django 尝试了这些 URL 模式,顺序如下:
管理员/产品/产品/新
当前路径 products/new/ 与其中任何一个都不匹配。
【问题讨论】:
这post 有帮助吗? 欢迎来到***,见how to ask 显示您的项目目录和完整的追溯代码,谢谢。 实际上我不知道要发送什么我对编程很陌生,你能告诉我我到底要发送什么......请帮帮我!!! @MuhammadFaizanFareed 您在控制台上获得的项目文件夹和错误屏幕截图,然后我们可以追踪您的错误,谢谢。像这样django-project-skeleton.readthedocs.io/en/latest/structure.html 【参考方案1】:注意
为您的应用使用单数名称而不是复数名称:
产品而不是产品。
模板目录
首先在您的产品应用程序中创建模板目录,然后在模板文件夹名称中创建另一个目录,名称必须是您的应用程序名称(产品)。
products # app name
templates # templates folder
products # again app name
aboutme.html # here your all html pages
mypage2.html
Views.py
from django.http import HttpResponse
from django.shortcuts import render
def index(request):
return HttpResponse('Hello world')
def new(request):
return HttpResponse('New Products!!!!!!!!!!!!!')
#or if you want to return html page then
def aboutme(request):
return render(request,'products/aboutme.html')
产品应用 urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
path('new', views.new),
path('all-about-me/', views.aboutme,name = 'about_me'), # get rid of hard coded urls so always use name parameter to give some name to your view.
]
项目 urls.py 文件
在此处添加所有应用的网址。
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('products/', include('products.urls'))
]
将您的应用添加到设置中
INSTALLED_APPS = [
# others goes here
'products.apps.ProductsConfig',# your products app
]
你的项目目录和代码必须和上面一样。
您缺少我在上面描述的任何上述步骤,并且在 URLS 中令人困惑。
http://127.0.0.1:8000 它显示 PageNotFound 404 因为您没有在主 URLS.py 中定义任何索引页面
http://127.0.0.1:8000/products 它显示“Hello world”(称为索引视图)。
http://127.0.0.1:8000/products/new 它显示“新产品!!!!!!!!!!!!!!!” (称为新视图)。
http://127.0.0.1:8000/products/all-about-me 它渲染 aboutme.html(称为 aboutme 视图)
仍有疑惑发表评论。
【讨论】:
请解释如何在产品应用程序中执行该模板创建步骤!!!! @Muhammad Faizan Fareed 什么意思?喜欢如何创建 html 页面模板或模板目录?或者页面是如何从头到尾提供的?以上是关于在 django、pycharm 中找不到页面?的主要内容,如果未能解决你的问题,请参考以下文章
pycharm 工具栏Tool中找不到Run manager.py Task
Django Admin '在 /admin/ 中找不到页面