【问题标题】:django redirects different links to same pagedjango 将不同的链接重定向到同一页面
【发布时间】:2017-11-02 02:08:07
【问题描述】:
from django.shortcuts import render, HttpResponse

# Create your views here.
def index(request):
    return render(request, 'platoweb/index.html')

def about(request):
    return render(request, 'platoweb/about.html')

这是 views.py 文件。

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index.html'),
    url(r'^$', views.about, name='about.html'),

]

这是应用程序 urls.py

from django.conf.urls import include, url
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static

admin.autodiscover()


urlpatterns = [

    url(r'^platoweb/index.html', include('platoweb.urls')),
    url(r'^platoweb/about.html', include('platoweb.urls')),
    url(r'^admin/', admin.site.urls),
# .   url(r'^posts/', include("posts.urls", namespace='posts')),
]

if settings.DEBUG:
        urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

这是全局 urls.py

基本上,我正在尝试访问两个不同的 url,index.html 和 about.html(以及更多稍后)。但是,当我运行它时,index.html 和 about.html 都会重定向到 index.html。

我已经测试了这两个 html 文件,它们工作得很好。有什么想法或想法吗?

【问题讨论】:

  • 您的 url 模式对于 index 和 about 在您的 views.py 中是相同的
  • 通过 url 模式你的意思是我的 return 语句中的 url 对吗?一个指向index,另一个指向about

标签: python django frontend


【解决方案1】:

首先,您需要像这样更改global urls.py

from django.conf.urls import include, url
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static

admin.autodiscover()


urlpatterns = [

    url(r'^platoweb/', include('platoweb.urls')),
    url(r'^admin/', admin.site.urls),
# .   url(r'^posts/', include("posts.urls", namespace='posts')),
]

然后你的app urls.py:

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^about$', views.about, name='about'),

]

然后 url http://127.0.0.1:8000/platoweb 将进入您的索引页面,http://127.0.0.1:8000/platoweb/about 将进入您的 about 页面。

【讨论】:

  • 嘿,所以我进行了更改并且 ...8000/platoweb 有效,但 platoweb/about 无效。我在终端收到 404。有什么想法吗?
  • 您的模板 about.html 在您的文件夹 platoweb 中?
  • 是的,这就是路径:Desktop\platotots\platoweb\templates\platoweb
  • 对不起,我的错,检查更新的答案,我提到的文件不正确
猜你喜欢
  • 2015-10-22
  • 1970-01-01
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
  • 2023-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多