Python Django,url地址问题

时间:2014-11-03 15:33:38

标签: python django

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

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

为了简化,我只是在我的观点部分写下这个:

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

但是&#34;上传部分&#34;不使用此网址(错误404):

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

2 个答案:

答案 0 :(得分: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">

答案 1 :(得分:0)

是的,当我删除leading / in urlpatterns

时它正在工作
urlpatterns = patterns('CubeVisu.views',
url(r'^$', 'index'),
url(r'^upload$', 'upload_file'))

在我的模板部分中如下:

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

谢谢大家。