python - 每当我尝试添加 <int :pk> in urls. py 时,在 Django 中找不到页面 (404)

标签 python django http-status-code-404

我想要实现的是,每当用户单击产品时,产品的 id 就会显示在 url 中。所以我尝试输入 <int:pk> 在网址中,但它说,

Page Not Found (404)
    Request Method: GET
    Request URL: http://127.0.0.1:8000/book-details/

homepage.html

{% for book in random %}
     <a type="submit" href="{{% url 'book-details' %}}">
         <img src="{{book.cover.url}}" height="300px" width="200px">
     </a>
{% endfor %}

views.py

def book_details(request,pk):
    return render(request, 'book-details.html')

urls.py

urlpatterns = [
path('admin/', admin.site.urls),
path('', homepage, name='home'),
path('fiction', fiction, name='fiction'),
path('nonfiction', nonfiction, name='nonfiction'),
path('book-details/<int:pk>/', book_details, name='book-details'),
path('search-result', search_result, name='search-result')

最佳答案

您没有通过<int:pk>调用 View 时,在 homepage.html 中进行以下更改:添加此代码

<a href="{% url 'book-details' book.pk %}"

关于python - 每当我尝试添加 <int :pk> in urls. py 时,在 Django 中找不到页面 (404),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65527305/

相关文章:

python - 如何使用 torch.min 中的索引来索引多维张量

python - 将多个 *.ts 文件(字节或类字节格式)连接到一个 mp4 文件

django admin 在 save_model 方法中删除内联对象

azure - 404/signalr/negotiate 在 Azure 中部署的应用程序

python - 从 C 结构创建 PyBuffer

Python PEP 273 和 Amazon BotoCore

python - 如何确保我的 AJAX 请求来自 Python 中的同一服务器

python - Django 使用多个数据库

html - 带有静态 html 的 gh-pages 存在时无法访问文件

laravel - Laravel Elastic BeanStalk 上的 404