django文件上传到本地
时间: 2023-09-18 12:14:38 浏览: 50
要将文件上传到本地,可以按照以下步骤操作:
1.在Django项目中创建一个文件上传的视图函数,并在urls.py文件中定义路由。
```python
from django.shortcuts import render
from django.core.files.storage import FileSystemStorage
def upload(request):
if request.method == 'POST' and request.FILES['file']:
myfile = request.FILES['file']
fs = FileSystemStorage()
fs.save(myfile.name, myfile)
return render(request, 'upload.html', {'message': '文件上传成功'})
return render(request, 'upload.html')
```
2.在模板中创建一个表单,允许用户上传文件。
```html
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="file">
<button type="submit">上传文件</button>
</form>
{% if message %}
<p>{{ message }}</p>
{% endif %}
```
3.在settings.py文件中配置MEDIA_ROOT和MEDIA_URL,以便Django可以将上传的文件保存在本地。
```python
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
```
4.在urls.py文件中添加一个URL模式,使Django能够为上传的文件提供服务。
```python
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
```
5.运行Django应用程序并访问上传文件的视图。
```bash
python manage.py runserver
```
以上步骤完成后,上传的文件将保存在MEDIA_ROOT目录下,并可以通过MEDIA_URL访问。