-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #42 from Ink/demo_modification
Demo modification
- Loading branch information
Showing
10 changed files
with
126 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,3 +7,4 @@ db.sqlite3 | |
.DS_STORE | ||
build | ||
django_filepicker.egg-info | ||
.idea |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,15 @@ | ||
from django.contrib import admin | ||
from models import FileModel, BasicFilesModel | ||
|
||
# Register your models here. | ||
|
||
class BasicFilesModelAdmin(admin.ModelAdmin): | ||
pass | ||
|
||
|
||
class FileModelAdmin(admin.ModelAdmin): | ||
readonly_fields = ('image_tag',) | ||
list_display = ('__unicode__', 'image_tag') | ||
|
||
|
||
admin.site.register(FileModel, FileModelAdmin) | ||
admin.site.register(BasicFilesModel, BasicFilesModelAdmin) |
40 changes: 40 additions & 0 deletions
40
demo/filepicker_demo/migrations/0002_auto_20150323_1549.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# -*- coding: utf-8 -*- | ||
from __future__ import unicode_literals | ||
|
||
from django.db import models, migrations | ||
import django_filepicker.models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
('filepicker_demo', '0001_initial'), | ||
] | ||
|
||
operations = [ | ||
migrations.CreateModel( | ||
name='BasicFilesModel', | ||
fields=[ | ||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), | ||
('text', models.CharField(max_length=64)), | ||
], | ||
options={ | ||
}, | ||
bases=(models.Model,), | ||
), | ||
migrations.CreateModel( | ||
name='FileModel', | ||
fields=[ | ||
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), | ||
('fpfile', django_filepicker.models.FPFileField(upload_to=b'uploads')), | ||
('fpurl', models.URLField(max_length=255, null=True, blank=True)), | ||
('mid', models.ForeignKey(to='filepicker_demo.BasicFilesModel')), | ||
], | ||
options={ | ||
}, | ||
bases=(models.Model,), | ||
), | ||
migrations.DeleteModel( | ||
name='TestModel', | ||
), | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,39 @@ | ||
from django.shortcuts import render,redirect | ||
from django.views.generic.base import View | ||
from django.views.generic.base import TemplateView | ||
from django.db import models | ||
from django_filepicker.utils import FilepickerFile | ||
from django.shortcuts import render | ||
|
||
try: | ||
from .models import TestModelForm | ||
from .models import BasicFilesForm, FileForm | ||
except ImportError: | ||
from models import TestModelForm | ||
from models import BasicFilesForm, FileForm | ||
|
||
|
||
def pick(request): | ||
message = None | ||
if request.method == "POST": | ||
|
||
#building the form - automagically turns the uploaded fpurl into a File object | ||
form = TestModelForm(request.POST, request.FILES) | ||
if form.is_valid(): | ||
#Save will read the data and upload it to the location defined in TestModel | ||
form.save() | ||
basic_form = BasicFilesForm() | ||
form = FileForm() | ||
|
||
#Reading the contents of the file | ||
fpfile = form.cleaned_data['fpfile'] | ||
#Since we already read from it in save(), we'll want to seek to the beginning first | ||
fpfile.seek(0) | ||
|
||
message = "Save successful. URL for %s: %s" % (fpfile.name, request.POST['fpfile']) | ||
if request.method == "POST": | ||
post = request.POST.dict() | ||
basic_form = BasicFilesForm(post) | ||
if basic_form.is_valid(): | ||
f = basic_form.save() | ||
post['mid_id'] = f.id | ||
else: | ||
message = "Invalid form" | ||
else: | ||
form = TestModelForm() | ||
message = 'Invalid form' | ||
|
||
files_links = request.POST['fpfile'].split(',') | ||
if post.get('mid_id', None): | ||
for i, f in enumerate(request.FILES.getlist("fpfile")): | ||
form = FileForm(post) | ||
if form.is_valid(): | ||
fp = form.save(commit=False) | ||
fp.fpfile = f | ||
fp.fpurl = files_links[i] | ||
fp.mid_id = post.get('mid_id') | ||
fp.save() | ||
else: | ||
message = "Invalid form" | ||
files = ", ".join([str(f) for f in request.FILES.getlist("fpfile")]) | ||
message = "Save successful. URL for {0}: {1}".format( | ||
files, request.POST["fpfile"]) if not message else message | ||
|
||
return render(request, "home.html", {'form': form, 'message': message}) | ||
return render(request, "home.html", {'form': form, 'message': message, 'basic_form': basic_form}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters