html - Uploading A file in django with ModelForms -


i have been hacking away @ project many hours , cannot figure out how create simple file upload app. have looked @ tutorials none quite apply situation , cant code right. know code have @ point wont run hoping somone might able push me in right direction have. know not great im getting frustrated , hope views.py thank much. thank in advance!

models.py

from django.db import models django.contrib.auth.models import user django.forms import modelform   class worksheet(models.model):     worksheet_name = models.charfield(max_length= 150, default = true)     creator = models.foreignkey(user, default = true)     worksheet_file = models.filefield(upload_to = 'worksheets', default = true)     number_of_stars = models.positiveintegerfield(default = true)     category = models.charfield(max_length = 100, default = 0)   class uploadworksheetform(modelform):     class meta:         model = worksheet 

views.py

from django.shortcuts import render, render_to_response, httpresponseredirect django.conf import settings django import http   models import worksheet forms import uploadworksheetform  def upload(request):     template = 'upload.html'     if request.method == 'post':         if 'file' in request.files:             file = request.files['file']             filename = file['filename']             fd = open('%s/%s' % (settings.media_root, filename), 'wb')             fd.write(file['content'])             fd.close()              return http.httpresponseredirect('upload_success.html')     else:         form = uploadworksheetform()         return render_to_response(template, {'form': form})      return render(request, 'upload.html', {'form': form}) 

upload.html

<!doctype html> <html> <head>     <title>wsd upload</title> </head> <body> <h1>upload worksheet</h1> {% block body %} <form action="." method="post" enctype="multipart/form-data"> {{ form }}     <type="submit" value = "upload"/> </form> {% endblock %} </body> </html> 

if there else need please tell me. thank thank thank you!

views.py

def upload(request):     template = 'upload.html'     if request.method == 'post':         form = uploadworksheetform(request.post, request.files)         if form.is_valid():             form.save()              return httpresponseredirect('upload_success.html') <---change valid url not template name     else:         form = uploadworksheetform()      return render(request, 'upload.html', {'form': form}) 

template

...................         {% block body %} <form action="." method="post" enctype="multipart/form-data">      {% csrf_token %}         {{ form.as_p }}     <input type="submit" value = "upload"/> </form> {% endblock %} .................... 

Comments

Popular posts from this blog

ios - iPhone/iPad different view orientations in different views , and apple approval process -

java Extracting Zip file -

C# WinForm - loading screen -