Django链接到其他其他应用

时间:2018-08-10 19:40:28

标签: django django-views

也许这个问题已经以一种或另一种方式得到了回答。但是我要问一下,因为我试图自己回答,我用Google搜索了好几天,但我不知道。

我的Django项目中有一个名为“接收”的应用程序。

我想出了所有的东西。

我在html中有指向正确的urlpattern的链接。

 <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')

现在,我希望链接转到接收页面,而不是接收.html。应用页面。我需要在那里写什么。我已经尝试了所有想到的方法,但是没有任何效果。

接收如下:

http://127.0.0.1:8000/admin/reception/

那么我要如何指出这一点。

请帮助! 谢谢

4 个答案:

答案 0 :(得分:1)

所以我只是要编写我们在聊天中讨论的解决方案:

{%url“ admin:app_list” app_label =“ reception”%}

documentation

答案 1 :(得分:0)

看,这对您有帮助吗?我用这种方式解决了类似的问题

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种资源:

  1. https://docs.djangoproject.com/en/2.1/ref/utils/

  2. https://docs.djangoproject.com/en/2.1/ref/templates/builtins/

  

硬编码方式

您能测试一下吗? 网址

urlpatterns = [...,  path('reception/', views.reception, name='go_to_reception'), ...]

html

and on the link <a href="127.0.0.1/reception/">

是硬编码方式,但是将来您可能会在内部页面上遇到麻烦或相对URL 404

答案 2 :(得分:0)

谢谢你的回答马修,

在您发表最新评论后,我将代码更改为以下内容:

<p><tab1><a href="{% url 'reception:go_to_reception' %}">Reception</a></tab1></p>

并在url.py中为其:

path('reception/', include('reception.urls', namespace='reception-urls')),

在ception.urls.py中

app_name = "reception"

,消息现在显示:

django.urls.exceptions.NoReverseMatch:找不到'go_to_reception'的反向。 “ go_to_reception”不是有效的视图函数或模式名称。

很抱歉如此来回,但老实说我无法使其正常工作。

答案 3 :(得分:0)

您的reception.views中有一个名为go_to_rececption的视图,还是在reception.urls中有一个名为go_to_reception的URL?。

不用担心,只是想帮助您!