2014-11-08 42 views
3

我必須錯過一些愚蠢的東西。我有一個模板中的{%url%},其中的操作來自另一個應用程序。它不工作,但我不知道如果從其他應用程序使用視圖功能有什麼不同,或者我只是在做一些愚蠢的事情。從另一個應用程序django模板url

呼叫/模板/電話/ file.html

<form action="{% url 'upload_image' %}"></form> 

圖片/ urls.py

from .views import PictureList, PictureCreate, PictureDetail, PictureUpdate, PictureDelete, upload_image 

... 
url(r'^upload_image/$', upload_image, name='upload_image'), 
... 

圖片/ view.py

def upload_image(request): 
    print 'IN IMAGE UPLOAD' 
    print request 

所有我曾經得到的是:

NoReverseMatch at /call/4/ 

Reverse for 'upload_image' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 
+0

該文件是故意命名爲'url.py'還是它是一個錯字? – alecxe 2014-11-08 02:38:59

+0

這是一個錯字...現在修復了 – brechmos 2014-11-08 02:44:37

+1

如果您使用名稱空間版本「{%url」圖片:upload_image'%}'而不是? – alecxe 2014-11-08 02:48:00

回答

2

當調用對來自不同應用程序的URL reverse(),你應該使用它的「命名空間」的版本,像這樣:

{% url 'app_name:app_url' %} 

在特定情況下,轉化爲:

{% url 'picture:upload_image' %} 
相關問題