Git Product home page Git Product logo

starcross / django-starcross-gallery Goto Github PK

View Code? Open in Web Editor NEW
56.0 56.0 12.0 1.08 MB

Django Gallery app with justified image layout, infinite scrolling and drag & drop support

Home Page: https://starcross.dev/gallery/

License: GNU Lesser General Public License v3.0

Python 51.33% CSS 10.14% HTML 23.27% JavaScript 14.40% Shell 0.86%
django drag-and-drop gallery infinite-scroll justified-layout masonry-layout

django-starcross-gallery's People

Contributors

starcross avatar zoltan-ky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

django-starcross-gallery's Issues

Error uploading smaller files

An error occurs when attempting to upload smaller files (I/O operation on closed file)

This is due to the file being closed during the validation process. Django uses a memory based file (InMemoryUploadedFile) represented by a BytesIO stream. This file type object cannot be reopened.

NoReverseMatch at /admin/r/11/1/

Hey guys, great job on this package, but i'm having this error by adding an image:
Reverse for 'album_detail' not found. 'album_detail' is not a valid view function or pattern name.
It's just a package, which means i don't think i have to copy and paste the whole template folder, thinking this work has been done in the background.
what might be the reason of that error ?
Thank you already.
Screen Shot 2020-07-03 at 1 21 55 PM

Can't get images to show

Hello,

I am stuck at the end of the installing process...
I have read the "Troubleshooting" sections, but i'm still stuck

Broken image links after upload
Check your MEDIA settings. If the media location on disk is changed, you will need to copy the files in the CACHE directory to the new location, or delete and re-upload the broken images

Here is my media settings :

#https://docs.djangoproject.com/en/3.1/ref/settings/#std:setting-MEDIA_ROOT
MEDIA_ROOT = 'C:\\Users\\MyImages\\'
MEDIA_URL = 'http://127.0.0.1:8000/medias/'

I can see that two folders were created in 'C:\Users\MyImages\', I got :
'C:\\Users\\MyImages\\CACHE\images\images\'
and
' 'C:\\Users\\MyImages\\images'

but i'm still receiving HTTP404:

Not Found: /medias/CACHE/images/images/output-10/3981c2e293daeb783037bcb4616d6bfa.jpg
but the file exists in 'C:\\Users\\MyImages\\CACHE\images\images\output-10\3981c2e293daeb783037bcb4616d6bfa.jpg'

Anyhelp would be greatly appreciated :)

Thanks!

Can't override the base template

I am trying to override the base template (gallery_base.html) and followed the standard approach i.e

  • Set up the loaders in the template settings
  • created a gallery/gallery_base.html in my project template. The effect is still not visible.

How can I override the template without customizing the source code?

ValueError at /gallery/upload/ : Field 'id' expected a number but got ''.

Hi, first: great project ! I love the design. I'm trying to implement it for a personal project (and learning Django).
When I try to upload one (or more) files by 'drag-and-drop' I get an error:

ValueError at /gallery/upload/ : Field 'id' expected a number but got ''.

I've double-checked the migrations. I'm pretty sure they are correct. I can upload through the admin console without errors.

I'm running everything in a docker container with a default sqlite database.

I guess I'm doing something wrong, but I don't have a clue what. Do you?

Traceback

Environment:


Request Method: POST
Request URL: http://localhost:8000/gallery/upload/

Django Version: 3.1
Python Version: 3.8.3
Installed Applications:
['gallery',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/django/db/models/fields/__init__.py", line 1774, in get_prep_value
    return int(value)

The above exception (invalid literal for int() with base 10: '') was the direct cause of the following exception:
  File "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 179, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/views/generic/base.py", line 73, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/contrib/auth/mixins.py", line 52, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/views/generic/base.py", line 101, in dispatch
    return handler(request, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/views/generic/edit.py", line 142, in post
    return self.form_valid(form)
  File "/usr/local/lib/python3.8/site-packages/gallery/views.py", line 78, in form_valid
    image.image_albums.add(form.data['apk'])
  File "/usr/local/lib/python3.8/site-packages/django/db/models/fields/related_descriptors.py", line 950, in add
    self._add_items(
  File "/usr/local/lib/python3.8/site-packages/django/db/models/fields/related_descriptors.py", line 1126, in _add_items
    target_ids = self._get_target_ids(target_field_name, objs)
  File "/usr/local/lib/python3.8/site-packages/django/db/models/fields/related_descriptors.py", line 1073, in _get_target_ids
    target_ids.add(target_field.get_prep_value(obj))
  File "/usr/local/lib/python3.8/site-packages/django/db/models/fields/related.py", line 977, in get_prep_value
    return self.target_field.get_prep_value(value)
  File "/usr/local/lib/python3.8/site-packages/django/db/models/fields/__init__.py", line 1776, in get_prep_value
    raise e.__class__(

Exception Type: ValueError at /gallery/upload/
Exception Value: Field 'id' expected a number but got ''.

Issue with Cloudinary images

I have an issue when i go to the gallery page.
The page works fine if no images are linked to an album but if so i get the following error :

`Traceback (most recent call last):
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 829, in _resolve_lookup
    current = current[bit]
TypeError: 'ImageCacheFile' object is not subscriptable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "/home/simon/.local/lib/python3.8/site-packages/django/contrib/staticfiles/handlers.py", line 76, in __call__
    return self.application(environ, start_response)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/wsgi.py", line 133, in __call__
    response = self.get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/base.py", line 128, in get_response
    response = self._middleware_chain(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 49, in inner
    response = response_for_exception(request, exc)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 103, in response_for_exception
    response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/whitenoise/middleware.py", line 59, in __call__
    response = self.get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 49, in inner
    response = response_for_exception(request, exc)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 103, in response_for_exception
    response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/utils/deprecation.py", line 114, in __call__
    response = response or self.get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 49, in inner
    response = response_for_exception(request, exc)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 103, in response_for_exception
    response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/utils/deprecation.py", line 114, in __call__
    response = response or self.get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 49, in inner
    response = response_for_exception(request, exc)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 103, in response_for_exception
    response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/utils/deprecation.py", line 114, in __call__
    response = response or self.get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 49, in inner
    response = response_for_exception(request, exc)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 103, in response_for_exception
    response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/utils/deprecation.py", line 114, in __call__
    response = response or self.get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 49, in inner
    response = response_for_exception(request, exc)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 103, in response_for_exception
    response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/utils/deprecation.py", line 114, in __call__
    response = response or self.get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 49, in inner
    response = response_for_exception(request, exc)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 103, in response_for_exception
    response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/utils/deprecation.py", line 114, in __call__
    response = response or self.get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 49, in inner
    response = response_for_exception(request, exc)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 103, in response_for_exception
    response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/utils/deprecation.py", line 114, in __call__
    response = response or self.get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 49, in inner
    response = response_for_exception(request, exc)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 103, in response_for_exception
    response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/handlers/base.py", line 202, in _get_response
    response = response.render()
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/response.py", line 105, in render
    self.content = self.rendered_content
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/response.py", line 83, in rendered_content
    return template.render(context, self._request)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 162, in _render
    return self.nodelist.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 162, in _render
    return self.nodelist.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/defaulttags.py", line 211, in render
    nodelist.append(node.render_annotated(context))
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/defaulttags.py", line 312, in render
    return nodelist.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/defaulttags.py", line 516, in render
    return self.nodelist.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/loader_tags.py", line 192, in render
    return template.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 172, in render
    return self._render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 162, in _render
    return self.nodelist.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/defaulttags.py", line 477, in render
    value = self.val_expr.resolve(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 671, in resolve
    obj = self.var.resolve(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 796, in resolve
    value = self._resolve_lookup(context)
  File "/home/simon/.local/lib/python3.8/site-packages/django/template/base.py", line 837, in _resolve_lookup
    current = getattr(current, bit)
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/files/images.py", line 19, in width
    return self._get_image_dimensions()[0]
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/files/images.py", line 28, in _get_image_dimensions
    self.open()
  File "/home/simon/.local/lib/python3.8/site-packages/imagekit/files.py", line 58, in open
    self._require_file()
  File "/home/simon/.local/lib/python3.8/site-packages/imagekit/cachefiles/__init__.py", line 63, in _require_file
    self._file = self.storage.open(self.name, 'rb')
  File "/home/simon/.local/lib/python3.8/site-packages/django/core/files/storage.py", line 36, in open
    return self._open(name, mode)
  File "/home/simon/.local/lib/python3.8/site-packages/cloudinary_storage/storage.py", line 50, in _open
    raise IOError
OSError
[15/Nov/2020 14:20:19] "GET /gallery/ HTTP/1.1" 500 59
`

My media files are stored in cloudinary, maybe tahis is where the issue come from ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.