Reverse for 'archives' with arguments '('', '')' not found. 1 pattern(s) tried: ['archives/(?P<year>[0-9]{4})/(?P<month>[0-9]{1,2})/']
时间: 2023-09-10 17:13:42 浏览: 166
这个错误通常是因为在 Django 项目中找不到名为 'archives' 的 URL,并且在 URL 中传递了空参数。在你的项目中,可能存在一个 URL 模式,匹配 /archives/<year>/<month>/ 的请求,但是当你使用这个 URL 模式时,参数 year 和 month 为空,导致 Django 找不到匹配的 URL。
解决这个问题的方法是检查你的 URL 配置文件,确保存在名为 'archives' 的 URL,并且该 URL 模式可以正确地处理传递的参数。你还需要检查在使用这个 URL 时是否正确地传递了 year 和 month 参数,确保它们不为空。
示例代码中可能是这样的:
```python
# urls.py
from django.urls import path
from . import views
urlpatterns = [
# ...
path('archives/<int:year>/<int:month>/', views.archives, name='archives'),
# ...
]
```
当你在模板中使用 {% url 'archives' year='' month='' %} 时,会出现这个错误。正确的用法应该是传递具体的年份和月份,如 {% url 'archives' year=2021 month=8 %}。
阅读全文