Django-admin,使用我在URL上的变量转到外部站点

时间:2019-07-19 13:19:32

标签: django url parameters django-templates

我有一个模型,我想在URL中输入变量来访问外部网站。例如:“ www.example.com \ {%object.field%}。com

我的模型

class Intervencao(models.Model):
    freguesia = models.ForeignKey(Freguesia, on_delete=models.CASCADE,verbose_name="Freguesia")
    rua = models.ForeignKey(Rua, on_delete=models.CASCADE,verbose_name="Rua")

我的观点

from daa.intervencao.models import Intervencao

def home(request):
    var = Intervencao.object.all()
    context = {
        'key' : var
            }
    return render(request, 'templates/admin/daa/change_form_object_tools.html', context)

我的网址

urlpatterns = [
    path('', admin.site.urls, name ='home'),
    ]

我要更改change_form_object_tools.html并添加一个额外的li来执行以下操作:

<li>
    <a href="www.example.com/{{ key.field }}" target="_blank">Encontrar no SIG</a>
</li>

我该怎么办?

2 个答案:

答案 0 :(得分:0)

您需要首先将model.field作为dict从views.py传递到模板,然后将其放在{{model.field}}这样的href上 在模板中,您可以像这样遍历“密钥”列表 {%,代表键%中的k}  li做这样的事情:

  •     禁止SIG
  • {%endfor%}

    You can use the other field "rua" if you want
    

    答案 1 :(得分:0)

    我会在这里扩展@farhani的答案

    views.py
    
    
    from yourappname.models import Intervencao
    
    
    def home(request):
    
    
    var = Intervencao.object.all()
    
    
    context = {
         'key' : var
              }
    
    
    return render(request, 'templates/change_form_object_tools.html', context)
    

    确保将其传递给根网址

    root urls.py
    
    
    from yourappname.views import home
    
    
    urlpatterns = [
    
    
    path('admin/', admin.site.urls),
    path('', home,),
    
    
    ......
    ]
    

    立即跳转到模板

    <li>
        <a href="www.example.com\{{ key.field }}.com">Example</a>
    </li>
    
    
    

    希望这是您的问题。 干杯