Python Django 1.8文件上载示例
我是Django开发平台的新手。我一直在努力在Django 1.8.2(最新版本)中创建一个基本的文件上传应用程序。我找不到任何最新的示例/片段。因此,如果您能在这里发布或向我推荐一个最小但完整的(模型、视图、模板)示例代码,我将不胜感激 我在网上看到了许多其他的例子,但我注意到我的版本在默认情况下没有MEDIA\u ROOT或MEDIA\u URL属性。例如:Python Django 1.8文件上载示例,python,django,file,url,file-upload,Python,Django,File,Url,File Upload,我是Django开发平台的新手。我一直在努力在Django 1.8.2(最新版本)中创建一个基本的文件上传应用程序。我找不到任何最新的示例/片段。因此,如果您能在这里发布或向我推荐一个最小但完整的(模型、视图、模板)示例代码,我将不胜感激 我在网上看到了许多其他的例子,但我注意到我的版本在默认情况下没有MEDIA\u ROOT或MEDIA\u URL属性。例如: MEDIA_ROOT = '/path/to/myproject/media/' MEDIA_URL = '/media/' 这是我
MEDIA_ROOT = '/path/to/myproject/media/'
MEDIA_URL = '/media/'
这是我的Models.py页面
from django.db import models
# Create your models here.
class Test(models.Model):
first_name = models.SlugField()
last_name = models.SlugField()
email = models.EmailField()
timestamp = models.DateTimeField(auto_now_add = True, auto_now = False)
updated = models.DateTimeField(auto_now_add = False, auto_now = True)
def __unicode__(self):
return self.email
这是我的Forms.py页面
from django import forms
from .models import Test
class EmailForm(forms.Form):
first_name = forms.CharField(required=False)
last_name = forms.CharField(required=False)
email = forms.EmailField()
class TestForm(forms.ModelForm):
class Meta:
model = Test
这是我的Views.py页面
from django.shortcuts import render
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
# Create your views here.
from .forms import EmailForm, TestForm
from .models import Test
def home(request):
# print request.POST["email"], request.POST["email2"]
form = EmailForm(request.POST or None)
if form.is_valid():
first_name = form.cleaned_data['first_name']
last_name = form.cleaned_data['last_name']
email = form.cleaned_data['email']
new_test, created = Test.objects.get_or_create(email = email, first_name = first_name, last_name = last_name)
# # This is using Model Forms
# form = TestForm(request.POST or None)
# if form.is_valid():
# new_test = form.save(commit = False)
# #We Might Do Something Here
# email = form.cleaned_data['email']
# new_test_old, created = Test.objects.get_or_create(email = email)
# # new_test.save()
context = {"form": form}
template = "home.html"
return render(request, template, context)
这是我的URL.py页面
from django.conf.urls import patterns, include, url
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
url(r'^$', 'tests.views.home', name='home'),
# url(r'^home2/$', 'lwc.views.home2', name='home'),
# url(r'^blog/', include('blog.urls')),
#This admin can be changed to anything but the
#link must also be changed to access admin area
url(r'^admin/', include(admin.site.urls)),
)
我的应用程序的目标是允许用户上传文件并提交到相关的SQLite数据库。没有媒体根目录或媒体URL,我如何实现这一点?欢迎使用Stackoverlfow!如果您包括您的输入、您尝试过的内容、您的预期输出与实际输出以及您收到的任何错误的完整堆栈跟踪,您将大大增加获得问题答案的机会。您还可以阅读您希望创建一个包含特定上传位置的字段,当您从视图中引用表单时,添加“request.FILES or None,…”;在模板中,使用enctype=“multipart/form data”设置表单。已回答此问题。请参阅此欢迎使用Stackoverlfow!如果您包括您的输入、您尝试过的内容、您的预期输出与实际输出以及您收到的任何错误的完整堆栈跟踪,您将大大增加获得问题答案的机会。您还可以阅读您希望创建一个包含特定上传位置的字段,当您从视图中引用表单时添加'request.FILES or None,…';在模板中,使用enctype=“multipart/form data”设置表单。已回答此问题,请参见此