Django-usuario-media

Una aplicación reutilizable para manejar graciosamente los archivos que sus usuarios pueden cargar, como imágenes de perfil, foto ...
Descargar ahora

Django-usuario-media Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • MIT/X Consortium Lic...
  • Precio:
  • FREE
  • Nombre del editor:
  • Martin Brochhaus
  • Sitio web del editor:
  • https://github.com/bitmazk/

Django-usuario-media Etiquetas


Django-usuario-media Descripción

Django-User-Media es una aplicación reutilizable de Django para manejar con gracia los archivos que pueden cargar sus usuarios, como imágenes de perfil, álbumes de foto, etc. Casi todas las aplicaciones web modernas permiten que sus usuarios carguen contenido, de audio, video o imágenes. Esto plantea una serie de problemas si ese contenido no debe ser visible para todo el mundo por defecto. Si tiene un modelo de uso de usuarios y agregue un campo de imagen, debe idear una buena idea sobre cómo guardar esas imágenes. Probablemente no sea una buena idea mantener los nombres de archivos originales, ya que podrían perturbar el sistema de archivos de su servidor y abrir puertas para los piratas informáticos, quienes podrían intentar forzar la fuerza en contra de su / medios / usuario_profiles / con la esperanza de robar algunos archivos valiosos. Parece inevitable implementar una función para el atributo Upload_to de FileField de Django, pensé que este podría ser un candidato para una aplicación reutilizable. Este proyecto es experimental. Lo estamos utilizando en dos proyectos en vivo completamente diferentes y, con suerte, se encontrará con una implementación que sea tan genérica que pueda ser utilizada con seguridad por cualquier persona. Si estamos tratando con archivos aquí y no solo con una base de datos, los cambios incompatibles al revés podrían girar. Para ser un dolor en el culo para desplegar en sus sitios de producción. Usted ha sido advertido. EnStalación para obtener la última versión estable de PYPI: PIP Instale Django-User-Mediato Obtenga la última confirmación de GitHub: PIP Instale -e git: //github.com/bitmazk/django-user-media.git# huevo = user_mediaadd la aplicación a su install_apps: instally_apps = gancha la aplicación en su urls.py:urlpatterns + = patrones ('', ... URL (R'umedia / ', incluye ('user_media.urls'))),) Ejecute las migraciones del Sur para crear las tablas de base de datos de la aplicación: ./manage.py migrate user_mediausagelet's asume que tiene un modelo de uso de userprofile y desea agregar un campo de avatar a ese modelo. Desea agregar una genericRelación a su Modelo de URSERPROFILIDO: desde django.contrib.contenttypes Importar GenericClass UserProFile (Models.model): ... user = models.foreignkey ('auth.user') avatar = genric.genicrelation ('user_media.usermediaimage ',) Ahora podrás obtener todas las imágenes cargadas que pertenecen a un UserProFile haciendo esto: Perfil = userProFile.Objects.get (PK = 1) Imágenes = Prof Ile.Avatar.Filter (User = Perfil.User) Tiene sentido agregar un método de conveniencia a su modelo de uso de userprofile: Profile de clase de clase (Modelos.Model): ... Def get_avatar (self): devuelva a self.avatar.filter (usuario = Self.USER) En sus plantillas, ahora puede proporcionar un enlace a la vista de creación de imágenes, así (suponiendo que su objeto de uso de userProfile se denomina objeto en el contexto de la plantilla): {% url de carga de futuro%} Sube su imagen Nota que userprofile es el nombre del modelo que el Tipo de contenido de su modelo de uso de userprofile regresará. Puede resolver esto con ./manage.py shell, por ejemplo: $ ./manage.py shellin : desde django.contrib.contenttypes.models Importar contenidoTypein : desde your_app.models Import userProFilein : Contenttype.objects.get_for_model (userprofile) .modelout : u'userprofile'when visitando ese enlace, el usuario debe ver un formulario de carga de imágenes. Es posible que desee anular esa plantilla (user_media / usermediaimage_form.html). Después de subir la imagen, la vista debe volver a funcionar a la URL absoluta de su uso de usuario. Si desea redirigir a otra URL, puede proporcionar un siguiente parámetro URL a través de POST o Obtenga: cargue su PICTURENOW, debe tener todos los bloques de construcción que necesita para agregar enlaces o botones a sus plantillas que llamen las vistas de esta aplicación. En la vista de detalles de su uso de userprofile que puede mostrar el Avatar, si está disponible: {% if oject.get_avatar%} {% endif% } O en su vista de actualización de UERSERPROFILIDO, podría mostrar un enlace para cargar una imagen nueva o para eliminar la imagen existente: {% if form.Instance.get_avatar%}

Eliminar imagen { % mas%} Añadir foto de perfil {% endif%} El delete enlace en este ejemplo será Dress la plantilla user_media / usermediaimage_confirm_delete.html, que es posible que desee anular en la página de inicio de su proyecto.


Django-usuario-media Software relacionado