路由
path('detail/<int:article_id>', app01.views.get_detail_page)
index 配置
<div class="col-md-9" role="main"> <div class="body-main"> {% for article in article_list %} <div> <h2><a href="/app01/detail/{{article.article_id}}">{{article.title}}</a></h2> <p>{{article.content}}</p> </div> {% endfor %} </div> </div>
views
def get_detail_page(request,article_id): all_article =Article.objects.all() for article in all_article: if article.arcticle_id == article_id: curr_article=article break return render(request,'app01/detail.html', { 'curr_article':curr_article })
直接访问文章详情页是访问正常
[15/Apr/2020 14:53:18] "GET /app01/detail/4 HTTP/1.1" 200 1344
但在index首页跳转没有获取到id
if article.arcticle_id == article_id:
views中这句
article.arcticle_id
注意单词拼写错误
输入 python manage.py runserver 后
控制台会显示以下内容:
Watching for file changes with StatReloader
Performing system checks...
......
Django version 3.1.5, using settings 'django_introduction.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
加粗部分显示Django的版本,不同版本写法不同。
课程中用的2.x,
如果是3.x,urls.py文件中
detail/<int:article_id>的后面添加/
如下所示 path('detail/<int:article_id>/', app01.views.get_detail_page),