2014-11-03 63 views
-2

我尝试使用django框架和下载文件,但是我有一些关于URLS的问题。 这是我的客户端部分(HTML5):Python Django,url地址问题

<form enctype="multipart/form-data" id="formfile" action='/upload' method="post"> 
     <input type="file" name="file"/> 
     <input type="submit" id="getfile" value="Open a fits file" /> 
     <span id="progressbar"></span> 
    </form> 

而对于symplify,我只是写这对我的看法部分:

def index(request): 
    print('coucou') 
    return render(request, 'index.html') 

def upload_file(request): 
    if request.method == 'POST': 
     file = request.files['file'] 
     print(file) 
     return render(request, 'index.html') 

但“上传部分”不与URL进行(错误404):

urlpatterns = patterns('CubeVisu.views', 
     url(r'^$', 'index'), 
    url(r'^/upload$', 'upload_file')) 
+4

您是否尝试删除URL模式的'/ upload'中的前导'/'? – karthikr 2014-11-03 15:36:25

回答

0

是的,这是工作,当我删除前导/在URL模式

urlpatterns = patterns('CubeVisu.views', 
url(r'^$', 'index'), 
url(r'^upload$', 'upload_file')) 

,并在我的模板部分如下:

<form enctype="multipart/form-data" id="formfile" action='upload' method="post"> 

谢谢大家。

3

urls.py删除开头的斜线:

urlpatterns = patterns('CubeVisu.views', 
    url(r'^$', 'index'), 
    url(r'^upload$', 'upload_file')) 

也可以使用url template tag引用您的网址,而不是硬编码他们:

<form enctype="multipart/form-data" id="formfile" action='{% url "upload_file" %}' method="post"> 
+0

提及'url'('reverse')+1 – Ben 2014-11-03 15:56:56