Python 正在使用android将文件上载到网站-无法访问网站
我正在尝试使用django框架上传网站中的文件。当我使用笔记本电脑时,我一点问题都没有,但当我试图用android设备上传完全相同的文件时,我会得到“无法访问此网站” 单击“提交”按钮时出现问题。我通常可以用android设备访问main.html,如果我不点击按钮,甚至可以访问get_post/url而不点击post。但当点击时,我会得到“无法访问此网站” views.pyPython 正在使用android将文件上载到网站-无法访问网站,python,android,django,Python,Android,Django,我正在尝试使用django框架上传网站中的文件。当我使用笔记本电脑时,我一点问题都没有,但当我试图用android设备上传完全相同的文件时,我会得到“无法访问此网站” 单击“提交”按钮时出现问题。我通常可以用android设备访问main.html,如果我不点击按钮,甚至可以访问get_post/url而不点击post。但当点击时,我会得到“无法访问此网站” views.py from django.shortcuts import render from django.http import
from django.shortcuts import render
from django.http import HttpResponse
from django.core.files.storage import default_storage
from .Uploaded_files import C_Convert as conv
from django.utils.datastructures import MultiValueDictKeyError
def main_view(request):
return render(request, 'main.html')
def get_file(request):
if request.method == 'POST':
print(1)
try:
uploaded_file = request.FILES['file']
except MultiValueDictKeyError:
return HttpResponse('<h1>Error</h1>')
default_storage.save('CSD_Project/Uploaded_files/'+uploaded_file.name, uploaded_file)
result = conv.convert(uploaded_file.name)
return HttpResponse('<h1>%s</h1>'%result)
else:
return HttpResponse('<h1>Error</h1>')
main.html
<!DOCTYPE html>
<html lang="en" style = "background-color: darkslategrey">
<head>
<meta charset="UTF-8">
<title>HY100 Tests</title>
</head>
<body>
<div style="text-align: center;">
<form action="get_file/" method="POST" enctype=multipart/form-data>
{% csrf_token %}
<input type="file" name="file">
<button style="color: white; background-color: #222222; padding: 15px 32px; font-size: 15px;" class="button">Submit file</button>
</form>
</div>
</body>
</html>
HY100测试
{%csrf_令牌%}
提交文件
我认为问题根本不在于Django,请仔细检查您的Android设备。web应用是否在本地部署?然后你必须确保你的设备在同一个网络中。我更新了我的答案,也许现在更清楚了。web应用程序部署在本地,我可以访问主url(主视图),但当我单击按钮时会出现问题。我甚至可以访问get_文件/url而无需post,这样我就可以返回HttpResponse(“Error”)。提交上传的文件肯定有问题。考虑到python脚本,除了显示带有上述错误的get_post链接外,实际上没有任何错误。它甚至没有进入函数get_文件,因此不会执行print(1)命令。这就是我不理解的。在形式上,我会使用绝对路径/get\u file
而不是相对路径get\u file/
@furas尝试了它,问题仍然存在
<!DOCTYPE html>
<html lang="en" style = "background-color: darkslategrey">
<head>
<meta charset="UTF-8">
<title>HY100 Tests</title>
</head>
<body>
<div style="text-align: center;">
<form action="get_file/" method="POST" enctype=multipart/form-data>
{% csrf_token %}
<input type="file" name="file">
<button style="color: white; background-color: #222222; padding: 15px 32px; font-size: 15px;" class="button">Submit file</button>
</form>
</div>
</body>
</html>