Django-User-Media

Eine wiederverwendbare App, um Dateien grawisch zu behandeln, mit denen Ihre Benutzer hochgeladen werden könnten, z. B. Profilbilder, foto ...
Jetzt downloaden

Django-User-Media Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • MIT/X Consortium Lic...
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Martin Brochhaus
  • Website des Verlags:
  • https://github.com/bitmazk/

Django-User-Media Stichworte


Django-User-Media Beschreibung

django-user-Medien ist eine Django wiederverwendbare app graceously Griff Dateien, die Ihre Benutzer könnten, wie Profilbilder, foto Alben etc laden ... Fast alle modernen Web-Anwendungen erlauben ihren Nutzern Inhalte hochladen wie Audio, Video oder Bilder. Dies wirft eine Reihe von Fragen, wenn die Inhalte nicht auf die ganzen Welt von default.If sichtbar sein sollten Sie ein Modell haben und Userprofile ein Imagefield, um es hinzuzufügen, müssen Sie mit einer guten Idee zu kommen, wie diese Bilder zu speichern. Es ist wahrscheinlich keine gute Idee, um die ursprünglichen Dateinamen zu halten, wie sie Ihre Server-Dateisystem und offene Türen für Hacker stören könnte, die zu Brute-Force gegen Ihre / media / USER_PROFILES / in der Hoffnung, könnten versuchen, einige wertvolle files.Since zu stehlen es scheint unvermeidlich, eine Funktion für Djangos Filefield ist upload_to Attribut zu implementieren dachte ich, dass dies ein Kandidat für ein wiederverwendbares app.This Projekt sein könnte, ist experimentell. Wir verwenden es auf zwei völlig verschiedene Live-Projekte und wird hoffentlich mit einer Implementierung kommen, die so allgemein ist, dass es sicher von anyone.Since verwendet werden, können wir mit Dateien hier und nicht nur mit einer Datenbank zu tun haben, rückwärts inkompatible Änderungen könnten sich out ein Schmerz in den Arsch zu sein auf Ihre Produktionsstandorten einzusetzen. Sie haben warned.InstallationTo die letzte Version von PyPI zu erhalten: pip installieren django-user-Medienzum die neuesten Informationen von GitHub begehen erhalten: pip install -e git: //github.com/bitmazk/django-user-media.git# Ei = user_mediaAdd die App auf Ihr INSTALLED_APPS: INSTALLED_APPS = Haken Sie die App in Ihre Haupt urls.py:urlpatterns + = Muster ( '', ... url (r'umedia /enthalten ( user_media.urls)),) Führen Sie die Süd-Migrationen der App-Datenbank-Tabellen zu erstellen: ./manage.py Migrate user_mediaUsageLet annehmen, dass Sie ein Modell Userprofile und haben Sie einen avatar Feld hinzuzufügen, dass model.First könnten Sie wollen eine GenericRelation zu Ihrem Userprofile Modell hinzuzufügen: von django.contrib.contenttypes Genericuserprofile (models.Model) importieren: ... user = models.ForeignKey ( 'auth.User') avatar = generic.GenericRelation ( user_media.UserMediaImage ) Jetzt können Sie alle hochgeladenen Bilder erhalten, die, indem Sie diese zu einem Userprofile gehören: Profil = UserProfile.objects.get (pk = 1) Bilder = prof ile.avatar.filter (user = profile.user) Es macht Sinn, eine bequeme Methode zu Ihrem Userprofile Modell hinzuzufügen: class Userprofile (models.Model): ... def get_avatar (self): return self.avatar.filter (user = self.user) in Ihren Vorlagen, die Sie jetzt einen Link auf die image-Erstellung Ansicht wie diese zur Verfügung stellen können (vorausgesetzt, dass Ihre Userprofile Objekt Objekt in der Vorlage Kontext genannt wird): {% Last url von Zukunft%} {% endif% } oder in Ihrem Userprofil Update Ansicht können Sie einen Link angezeigt werden, ein neues Bild laden oder das bestehende Bild zu löschen: {% if form.instance.get_avatar%}

Bild löschen { % else%} Profilbild hinzufügen {% endif%} Der Lösch Link in diesem Beispiel macht die user_media / usermediaimage_confirm_delete.html Vorlage, die Sie in Ihrem project.Product der Homepage außer Kraft setzen könnten wollen


Django-User-Media Zugehörige Software