gpt4 book ai didi

python - Django- url 中的空字符串没有重定向到索引页

转载 作者:行者123 更新时间:2023-11-30 21:57:51 29 4
gpt4 key购买 nike

我正在学习 django,在我的应用程序中,我有一个 urls.py,其中有 4 个 url 模式。如果 url 末尾没有输入字符串,那么它必须根据代码重定向到索引页面,但它不会发生。其余网址工作正常。

我的 urls.py

from django.contrib import admin
from django.urls import path
from .views import index, about, news
from django.conf import settings
from mainsite import views

urlpatterns = [
path(r'^$', views.index, name='index'),
path(r'about/', views.about, name='about'),
path(r'news/', views.news, name='news'),
path(r'admin/', admin.site.urls),
]

我的观点.py

from django.shortcuts import render
from datetime import datetime
from .models import Article

def index(request) :
context = {
'current_date': datetime.now(),
'title': 'Home'
}
return render(request, 'index.html', context )

def about(request) :
context = {
'current_date': datetime.now(),
'title': 'About'
}
return render(request, 'about.html', context )

def news(request) :
populate_db()
articles = get_articles()
context = {
'articles': articles,
'current_date': datetime.now(),
'title': 'News'
}
return render(request, 'news.html', context )

def get_articles():
result = Article.objects.all()
return result

def populate_db():
if Article.objects.count() == 0:
Article(title = 'first item', content = 'this is the first database item').save()
Article(title = 'second item', content = 'this is the second database item').save()
Article(title = 'third item', content = 'this is the third database item').save()

这是我遇到的错误 enter image description here

最佳答案

更改您的网址路径:

path(r'^$', views.index, name='index'),

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

因为path接受带尖括号的字符串或部分,如 <username>对于 url 的动态部分。您的其他 url 模式定义也是如此:

path('about/', views.about, name='about'),
path('news/', views.news, name='news'),
path('admin/', admin.site.urls),

如果您计划使用正则表达式作为 URL 模式的一部分,请使用 re_path

关于python - Django- url 中的空字符串没有重定向到索引页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55118532/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com