我试图设置链接到我网站根目录的django主页,即http://127.0.0.1:8000/index/
,但是,在Django搜索myapp作为主页http://127.0.0.1:8000/myapp/
的地方,我总是遇到错误。我只想进入网址中带有“索引”而不是“ myapp /”的首页
错误如下:
Using the URLconf defined in Main.urls, Django tried these URL patterns, in this order:
admin/
[name='index']
[name='myapp_index']
publications/ [name='publications']
^static\/(?P<path>.*)$
The current path, myapp/, didn't match any of these.
Views.py
def index(request):
return render(request, 'index.html')
主要/网址
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
myapp / urls
from django.urls import path
from logbook import views
urlpatterns = [
path('', views.index, name='index'),
path('', views.myapp_index, name='myapp_index'),
path('publications/', views.publications, name='publications'),
]
现在,如果我将 Main / urls.py 中的路径更改为path('myapp/', include('myapp.urls')),
,我将进入相应的主页,除了,我希望在其中列出“ index /” URL,而不是“ myapp /”。
我可能在这里错过了一些非常简单的内容。我认为这是我的MWE,很高兴添加更多。
答案 0 :(得分:2)
我遇到了同样的问题,我不知所措。
解决方案是清除浏览器的缓存和历史记录 我意识到,因为当我尝试使用隐身模式时,效果很好!
答案 1 :(得分:0)
这应该在主urls.py中
path('', views.index, name='index')
代替my_app / urls.py
答案 2 :(得分:0)
path('myapp/', include('myapp.urls'))
path('index/', include('myapp.urls'))
那可能会得到理想的结果。
答案 3 :(得分:0)
您尝试过以下操作:
主要/网址
f.check_box(color_id:, {}, checked_value ="black", uchhecked_value = "white")
myapp / urls
...
path(r'^', include('myapp.urls')),
...
答案 4 :(得分:0)
首先,您必须在myapp.urls中选择以下行之一,然后删除其他行
您不能为一个网址格式设置两个视图
path('', views.index, name='index'),
path('', views.myapp_index, name='myapp_index'),
您有两种获取索引/作为主网址的方法
1.change如下的Main.urls
path('', include('myapp.urls')),
到
path('index/', include('myapp.urls')),
2。如下更改myapp.urls
path('', views.index, name='index'),
到
path('index/', views.index, name='index'),
您实际上更改了在python代码中使用的网址名称,而不是网址路径
修改 您是说index /像下面这样吗?
www.example.com /
因此您必须按照上述步骤进行操作,但删除“ index /”
所以您不能按照以下说明进行操作:
如下更改Main.urls
path('', include('myapp.urls')),
到
path('^$', include('myapp.urls')),
或
像下面一样更改myapp.urls
path('', views.index, name='index'),
到
path('^$', views.index, name='index'),
答案 5 :(得分:0)
这对我有用(Django2)-指向“ static_pages”应用的views.py中的索引操作作为主页:
主要urls.py:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('static_pages.urls')), #included urls from static_pages app
]
static_pages / urls.py:
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name="index"),
]
static_pages / views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("First Django2 Message!")
请注意,“ static_pages”应用已添加到settings.py中的INSTALLED_APPS。
现在,打电话给http://127.0.0.1:8000/,我得到了:“第一条Django2消息!”。