举个django上传目录的项目实例
时间: 2023-06-18 19:06:31 浏览: 78
好的,下面是一个简单的 Django 上传文件并保存到指定目录的项目实例:
1. 创建 Django 项目并新建一个 app,名称为 `uploader`。
2. 在 `uploader` 应用下新建一个 `views.py` 文件,编写如下代码:
```python
import os
from django.shortcuts import render
from django.conf import settings
from django.http import HttpResponse
def upload(request):
if request.method == 'POST':
file_obj = request.FILES.get('file')
file_path = os.path.join(settings.MEDIA_ROOT, file_obj.name)
with open(file_path, 'wb') as f:
for chunk in file_obj.chunks():
f.write(chunk)
return HttpResponse('文件上传成功!')
return render(request, 'upload.html')
```
3. 在 `uploader` 应用下新建一个 `urls.py` 文件,编写如下代码:
```python
from django.urls import path
from . import views
urlpatterns = [
path('upload/', views.upload, name='upload'),
]
```
4. 在根目录下的 `settings.py` 文件中,添加如下代码:
```python
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # 媒体文件存放目录
MEDIA_URL = '/media/' # 媒体URL
```
5. 在项目根目录下新建一个 `media` 目录,用于存放上传的文件。
6. 在 `uploader` 应用下新建一个 `templates` 目录,用于存放模板文件。
7. 在 `templates` 目录下新建一个 `upload.html` 文件,编写如下代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<form action="{% url 'upload' %}" method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="file">
<button type="submit">上传</button>
</form>
</body>
</html>
```
完成上述步骤后,启动 Django 服务器,访问 `http://127.0.0.1:8000/uploader/upload/` 即可上传文件并保存到指定目录。
阅读全文