也许这个问题以前已经以这样或那样的方式得到了回答。但我需要问,因为我试着自己回答,我在谷歌上搜索了好几天,但都想不通。
在我的Django项目中,我有一个名为receive的应用程序。
除了这个,我什么都想明白了。
我在html中有一个指向正确url模式的链接。
<p><tab1><a href="{% url 'go_to_reception' %}">Reception</a></tab1></p>
urlpatterns = [..., path('go_to_reception', views.reception, name='go_to_reception'), ...]
视图类似于
def reception(request):
return render(request, 'reception.html')
现在,我希望链接转到接收页面,而不是receives.html。应用程序页面。我需要在那里写些什么。我想的都试过了,但都没用。
接收如下:
http://127.0.0.1:8000/admin/reception/
那么我该如何指出这一点呢。
请帮忙!感谢
所以我只想写我们在聊天中讨论的解决方案:
{%url"admin:app_list"app_label="receivement"%}
文件
看,这对你有帮助吗?我用这种方法解决了类似的问题
url.py
path('gotoreception', views.reception, name="go_to_reception"),
html
<a href="{% url 'go_to_reception' slug=slug %}"
型号
slug = models.SlugField(max_length=255, unique=True)
查看
def home(request, slug):
context = {'yourdata':yourdata}
return render(request,'index.html', context)
在模板标签url上,您需要使用路径的名称,如果您将字段存储在数据库上,则可以使用slug
3º选项,但不推荐,如果你有一个变量,但不是一个好的做法,你可以添加值
我向你推荐这2种资源:
https://docs.djangoproject.com/en/2.1/ref/utils/
https://docs.djangoproject.com/en/2.1/ref/templates/builtins/
硬编码方式
你能测试一下吗?urls
urlpatterns = [..., path('reception/', views.reception, name='go_to_reception'), ...]
html
and on the link <a href="127.0.0.1/reception/">
是硬编码的方式,但在未来你可能会有麻烦或相对的网址,404在内部页面
感谢您的回答Matthew,
在你的最新评论之后,我将我的代码更改为:
<p><tab1><a href="{% url 'reception:go_to_reception' %}">Reception</a></tab1></p>
并且在url.py-its:中
path('reception/', include('reception.urls', namespace='reception-urls')),
在receives.urls.py 中
app_name = "reception"
现在信息显示:
django.urls.exceptions.NoReverseMatch:找不到'go_to_reception'的反向。'"go_to_ception"不是有效的视图函数或模式名称。
我很抱歉这样来来回回,但老实说,我做不到。
您的receiveon.views中是否有一个名为go_to_reception的视图,或者receive.uls中是否有名称为go_ton_reception的url?。
别担心,只要尽力帮忙!!!