Thank you very much, Charito ๐
Sent from Surface From: Charito Romeo Sent: โTuesdayโ, โJulyโ โ21โ, โ2015 โ11โ:โ11โ โPM To: django-users@googlegroups.com Hi Hal, I'm using the code icon right on top of the gmail textbox. Click on the { } icon which is last icon on the top right of your text box. On Wed, Jul 22, 2015 at 1:26 PM, <ltc.hots...@gmail.com> wrote: Hi Charito, What tool did you use to insert your python codes into the marked fields below, i.e., settings.py, my models.py, etc? Regards, Hal Sent from Surface From: charito.romeo Sent: โTuesdayโ, โJulyโ โ21โ, โ2015 โ10โ:โ20โ โPM To: django-users@googlegroups.com Never mind. I figured it out. For some reason, {{ MEDIA_URL }} doesn't work but {{ media_url }} does. Now all my movies and images are rendered. Cheers. :) On Monday, July 20, 2015 at 3:16:52 PM UTC+8, charito.romeo wrote: Hi django folks, I ran into a hiccup when I was rendering media files in templates during development. I wanted to render the image and the video that was uploaded by the user BUT instead of the contents of the image and the video being rendered, the name of the file was rendered instead. I am using python 2.7.9 and django 1.8.3. Here are my codes relevant to the question I'm asking: settings.py BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) STATIC_URL = '/static/' STATIC_PATH = (os.path.join(BASE_DIR, 'static'), '/var/www/static/',) STATICFILES_DIRS = ( STATIC_PATH, ) MEDIA_URL = '/media/' my models.py: class Entry(models.Model): VIDEO_ENTRY_TYPE = ( ('SEMINAR', 'Seminar'), ('LECTURE', 'Lecture'), ('TALK', 'Talk'), ) user = models.ForeignKey(User) video = models.FileField(upload_to='video_entries') entry_type = models.CharField(max_length=100, choices=VIDEO_ENTRY_TYPE) title = models.CharField(max_length=250) class EntryForm(ModelForm): class Meta: model = Entry fields = ['video', 'entry_type', 'title'] my views.py: from django.shortcuts import render from django.http import HttpResponseRedirect from django.http import HttpResponse from django.views.generic import ListView from . models import User, Entry, EntryForm class IndexView(ListView): template_name = 'pi_app/index.html' context_object_name = 'latest_seminars' def get_queryset(self): return Entry.objects.filter(entry_type='SEMINAR').order_by('-pub_date') [:10] def get_context_data(self, **kwargs): context = super(IndexView, self).get_context_data(**kwargs) context['latest_lectures'] = Entry.objects.filter(entry_type='LECTURE').order_by('-pub_date') [:10] context['latest_talks'] = Entry.objects.filter(entry_type='TALK').order_by('-pub_date') [:10] my urls.py: from django.conf.urls import url from django.conf import settings from django.conf.urls.static import static from . import views urlpatterns = [ url(r'^$', views.IndexView.as_view(), name='index'), url(r'^upload_file/$', views.upload_file, name='upload_file') ]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) my template.py: <!DOCTYPE html> {% load staticfiles %} <html> <head> <title>Homepage</title> </head> <body> <h1> Welcome {{ user }} </h1> <!-- SAMPLE BLOCK THAT I WANT THE MEDIA FILES RENDERED --> {% block seminar %} <section id="latest_seminars"> <h2>Most Recent Seminars</h2> {% if latest_seminars %} <ul> {% for seminar in latest_seminars %} <video width="350", height="250", alt="{{ seminar.title }}" controls > <source src= "{{MEDIA_URL }} {{ seminar.video }}"/> </video> {{ seminar.title }} by {{ seminar.user }} {% endfor %} </ul> {% endif %} </section> {% endblock seminar %} Normally, the video or the image will be rendered. In my case, its not rendered. What is rendered instead is the name of the movie file (media/video_entries/name_of _movie_file) or the name of the image file (media/video_entries/name_of _image_file). All the other variables are rendered correctly except the media files. What am I missing? Please enligthen me. Your help is hightly appreciated. Thanks. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/6168e60f-a22c-404c-afd6-0e96e077d1a3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/55af2a30.c25e460a.f394.239a%40mx.google.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAM9Y-vuqXc74bn2tgFh72tmLQCCBFTeWx54xdvJYiCsFx%3D60PA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/55af8551.2595420a.1cfa.6d01%40mx.google.com. For more options, visit https://groups.google.com/d/optout.