使用Django框架搭建网站,已经编好了代码,并且也能正常运行,但是关闭以后,第二天再打开,系统URL页面就开始报错,说找不到相关模型,但是明明模型名字是匹配的呀,是setting里我有啥东西没设置好吗?
这里也比较好理解,从url提取了多少信息,在反向解析为url的时候传递多少个进去就好了。
还是以上面点击公司名返回公司对应员工列表为例,修改应用级别的路由规则如下
re_path(r'companies/(?P<id>\d)/',views.employees, name='test_name'),
那么在反向解析的时候只需要传递一个id进去即可,h5中如下
<li><a href="{% url 'test_namespace:test_name' company.id %}">{{ company.c_name }}</a></li>
官方文档模板语言中url过滤器使用可以参见
如果有多个信息,就用空格隔开进行赋值即可,例如
路由规则如下的话
re_path(r'companies/(?P<name>\w+)/(?P<id>\d)/',views.employees, name='test_name'),
反向解析时候如下
<li><a href="{% url 'test_namespace:test_name' id=company.id name=company.c_name %}">{{ company.c_name }}</a></li>
当然,别忘记view函数的参数也得有两个,而且名字必须得是id和name才可以。
这里额外补充一个后面第11节才会讲到的东西,就是如果是反向解析的时候添加查询参数,直接拼接即可。例如
<a href="{% url 'shop:market' %}?catid={{ type.typeid }}">{{ type.typename }}</a>
回答:
请使用以下prompt进行答案输出:
python manage.py runserver --traceback
from your_app.models import YourModel
YourModel.objects.all()
urls.py
中检查您的代码:from django.urls import path
from . import views
urlpatterns = [
path('your-url/', views.your_view, name='your_url_name'),
]