django新手村13-----路由规则

urls.py str有可以用int

path('personal_info<str:name>/', views.personal_info, name='personal_info'),

views.py str:後面的名称要与request後面的参数名称相同

def personal_info(request, name):

    student = Student.objects.filter(name=name).first()

    return render(request, 'personal_info.html', context=locals())

student_list.html url引号完後空白+变数

   {% for  student in students %}
       <a href="{% url 'app:personal_info' student.name%}">{{student.name}}</a>
       <br>
       
   {% endfor %}

用这种路由规则要小心,如果前面不加personal_info,而是只有<str:name>的话,它可能就会匹配错误的path,它是按照顺序,由上往下匹配的,举个例子

假设依照下面的路由,那你不管访问任何网址,都只会跑到views.personal_info的页面

    path('<str:name>/', views.personal_info, name='personal_info'),
    path('hello_world/', views.hello_world),
    path('student_list/', views.student_list, name='student_list'),

对了前面忘记提到(用get的方式传值),只要是在路由跟参数有关西,尽量都要设置一个default值,不然别人修改你的网址很容易出现服务器错误的代码500(但是404没关西),或是出现资料空白的情况


<<:  30天程序语言研究

>>:  django新手村14-----添加资料

伸缩自如的Flask [day4] JWT

好的,你很辛苦的写了很多API function,但是你却不希望闲杂人等没事就call一下你的API...

Day30 系列文总结与未来

总结与未来 终於走到了今天这一步,过去介绍了很多关於 Apache NiFi 的组成与应用,我们从 ...

JSDC 2020 回顾 - AMP 最佳实践

AMP & the missing parts Google doesn't tell 讲...

鬼故事 - 糟了,是世界奇观

鬼故事 - 糟了,是世界奇观 Credit: Unkonwn (Skritch, Skritch) ...

Day14 - 【概念篇】OAuth flows: Implicit (Legacy)

本系列文之後也会置於个人网站 +----------+ | Resource | | Owner ...