Adrian

Does the Photologue app store the image references in the database?

On Nov 5, 6:58 pm, adrian <[email protected]> wrote:
> The easiest way is to use the Photologue application.
> It has done most of the work for you.
>
> On Nov 5, 9:53 am, bruno desthuilliers <[email protected]>
> wrote:
>
> > On 3 nov, 16:02, derek <[email protected]> wrote:
>
> > > Given that I am a "wet behind the ears" newbie, maybe I should not be
> > > attempting this, but...
>
> > Attempts at thing we don't yet fully grasp can be a good way to
> > learn.
>
> > > I need some simple and straightforward guidance on
> > > uploading and using images in a simple database application, which (so 
> > > far)
> > > only uses the admin interface.
>
> > > I working on my development machine (i.e. no Apache integration as yet).
>
> > > The use case is not that complex.  If I have an "Event" object, with 
> > > which I
> > > want to associate a number of images (typically, photos taken by people at
> > > that event), then I also need an "EventImage" object, with the event.id as
> > > the foreign key.
>
> > > So, the models look like:
>
> > > class Event(models.Model):
> > >     id = models.AutoField(primary_key=True)
>
> > Hint : if you leave this previous line out, Django will automagically
> > add this very same field to your model !-)
>
> > >     date_time = models.DateTimeField()
> > >     title = models.CharField(unique=True,max_length=250)
>
> > > class EventImage(models.Model):
> > >     id = models.AutoField(primary_key=True)
> > >     caption = models.CharField(unique=True,max_length=10)
> > >     title = models.CharField(max_length=250)
> > >     event = models.ForeignKey(Event)
> > >     image = models.ImageField(upload_to='photos')
>
> > > What I have gathered so far, from browsing articles and snippets and Q&A, 
> > > is
> > > that I also need:
>
> > > 1.to add/change settings.py:
>
> > >  MEDIA_ROOT = '/home/blah/blah/mysite/media/'
> > >  MEDIA_URL = 'http://127.0.0.1:8000/media/'
> > >  ADMIN_MEDIA_PREFIX = '/media/'
>
> > Using the same path component for both the static medias and the admin
> > media usually leads to unexpected results. Either change your static
> > medias component path to something else or - way simplier -, change
> > the ADMIN_MEDIA_PREFIX (here we canonically set it to 'admin-media').
>
> > >  STATIC_DOC_ROOT = '/home/blah/blah/mysite/media/'
>
> > > 2. add the following to the start of urls.py:
>
> > > from django.conf import settings
>
> > > 3. add the following to the end of urls.py:
>
> > > if settings.DEBUG:
> > >     urlpatterns += patterns('',
> > >         (r'^static/(?P<path>.*)$', 'django.views.static.serve',
> > >         {'document_root': settings.STATIC_DOC_ROOT}),
> > >     )
>
> > This url pattern is not consistant with the your MEDIA_URL settings. A
> > good way to avoid this kind of problems is to follow the SPOT rule:
>
> > ### in settings.py
> > import os
>
> > PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))
> > SITE_URL = "http://127.0.0.1:8000";
>
> > MEDIA_DIR = "media"
> > MEDIA_ROOT = os.path.join(PROJECT_PATH, MEDIA_DIR)
> > MEDIA_URL = "%s/%s/" % (SITE_URL, MEDIA_DIR)
>
> > ADMIN_MEDIA_PREFIX = '/admin-media/'
>
> > # decouple this from the DEBUG flag - you may want to
> > # set DEBUG to true in preproduction
> > # (ie, running behind apache or another web server)
> > DEV_SERVER = True
>
> > ### in urls.py
> > from django.conf import settings
>
> > # urls here...
>
> > if settings.DEV_SERVER:
> >     urlpatterns += patterns('',
> >         (r'^%s/(?P<path>.*)$' % setting.MEDIA_DIR,
> > 'django.views.static.serve',
> >         {'document_root': settings.MEDIA_ROOT}),
> >     )
>
> > > (I have also tried variations on the above, such as:
> > >         (r'^media/(?P<path>.*)$', 'django.views.static.serve',
>
> > which may have worked, minus the conflict between MEDIA_URL and
> > ADMIN_MEDIA_PREFIX
>
> > > and
> > >         (r'%s(?P<path>.*)' % settings.MEDIA_URL[1:],
>
> > MEDIA_URL is a string, so MEDIA_URL[1:] is the same string minus the
> > first character, ie, in your case : "ttp://127.0.0.1:8000/media/".
> > Probably not what you expected !-)
>
> > > 'django.views.static.serve',
> > >          {'document_root': settings.MEDIA_ROOT}),
> > > )
>
> > > but in all cases, although the file does get uploaded and appears in the
> > > '/home/blah/blah/mysite/media/photos/' directory, when I click on the 
> > > link -
> > > which is shown as
>
> > >http://127.0.0.1:8000/media/photos/test.jpg
>
> > > I get a "Page not found:  /media/photos/test.jpg"
>
> > > This seems like a simple thing to fix - but not for me?
>
> > cf above.
>
> > > Any help to fix this is appreciated, as is any guidance on what will need 
> > > to
> > > change once this project needs to run under Apache...
>
> > If you're careful to use the "medias" context processor and
> > {{ MEDIA_URL }} in your templates, you shouldn't have to do much more
> > than update your settings.py appropriately. But anyway - first fix
> > your development setup.
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to