Images missing after moving Django to new server

Posted by miszczu on Stack Overflow See other posts from Stack Overflow or by miszczu
Published on 2012-05-30T09:56:34Z Indexed on 2012/05/31 16:40 UTC
Read the original article Hit count: 537

Filed under:
|
|

I'm moving Django project to new server.

I'm newbie in Django, and I don't know where should be upload folder. There are all images which should be displayed on website. In config file I haven't seen upload folder I could specify, so I'm guessing it always should be the same location for django projects or I just can't find it.

Locations are saved in database. When I've put uploaded files into media folder, so url was like domain.co.uk/media/upload/media/images/year/month/day/image_name.ext and the same is on the old website, images on website ware still missing.

All images are visible if I put url by hand, but django doesn't seems to see files.

Also I check django log file:

2012-05-30 09:13:33,393 ERROR render:  Thumbnail tag failed: [in /usr/lib/python2.6/site-packages/sorl_thumbnail-11.12-py2.6.egg/sorl/thumbnail/templatetags/thumbnail.py (line 49)]
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/sorl_thumbnail-11.12-py2.6.egg/sorl/thumbnail/templatetags/thumbnail.py", line 45, in render
    return self._render(context)
  File "/usr/lib/python2.6/site-packages/sorl_thumbnail-11.12-py2.6.egg/sorl/thumbnail/templatetags/thumbnail.py", line 97, in _render
    file_, geometry, **options
  File "/usr/lib/python2.6/site-packages/sorl_thumbnail-11.12-py2.6.egg/sorl/thumbnail/base.py", line 50, in get_thumbnail
    cached = default.kvstore.get(thumbnail)
  File "/usr/lib/python2.6/site-packages/sorl_thumbnail-11.12-py2.6.egg/sorl/thumbnail/kvstores/base.py", line 25, in get
    return self._get(image_file.key)
  File "/usr/lib/python2.6/site-packages/sorl_thumbnail-11.12-py2.6.egg/sorl/thumbnail/kvstores/base.py", line 123, in _get
    value = self._get_raw(add_prefix(key, identity))
  File "/usr/lib/python2.6/site-packages/sorl_thumbnail-11.12-py2.6.egg/sorl/thumbnail/kvstores/cached_db_kvstore.py", line 26, in _get_raw
    value = KVStoreModel.objects.get(key=key).value
  File "/usr/lib/python2.6/site-packages/django/db/models/manager.py", line 132, in get
    return self.get_query_set().get(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 344, in get
    num = len(clone)
  File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 82, in __len__
    self._result_cache = list(self.iterator())
  File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 273, in iterator
    for row in compiler.results_iter():
  File "/usr/lib/python2.6/site-packages/django/db/models/sql/compiler.py", line 680, in results_iter
    for rows in self.execute_sql(MULTI):
  File "/usr/lib/python2.6/site-packages/django/db/models/sql/compiler.py", line 735, in execute_sql
    cursor.execute(sql, params)
  File "/usr/lib/python2.6/site-packages/django/db/backends/util.py", line 34, in execute
    return self.cursor.execute(sql, params)
  File "/usr/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 86, in execute
    return self.cursor.execute(query, args)
  File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 174, in execute
    self.errorhandler(self, exc, value)
  File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
DatabaseError: (1146, "Table 'thumbnail_kvstore' doesn't exist")
2012-05-30 09:13:33,396 DEBUG execute:  (0.000) SELECT `freetext_freetext`.`id`, `freetext_freetext`.`key`, `freetext_freetext`.`content`, `freetext_freetext`.`active` FROM `freetext_freetext` WHERE (`freetext_freetext`.`active` = True  AND `freetext_freetext`.`key` = office-closed-message ); args=(True, u'office-closed-message') [in /usr/lib/python2.6/site-packages/django/db/backends/util.py (line 44)]
2012-05-30 09:13:33,399 DEBUG execute:  (0.000) SELECT `menus_menu`.`id`, `menus_menu`.`name`, `menus_menu`.`slug`, `menus_menu`.`base_url`, `menus_menu`.`description`, `menus_menu`.`enabled` FROM `menus_menu` WHERE (`menus_menu`.`enabled` = True  AND `menus_menu`.`slug` = about ); args=(True, u'about') [in /usr/lib/python2.6/site-packages/django/db/backends/util.py (line 44)]
2012-05-30 09:13:33,401 DEBUG execute:  (0.000) SELECT `menus_menuitem`.`id`, `menus_menuitem`.`menu_id`, `menus_menuitem`.`title`, `menus_menuitem`.`url`, `menus_menuitem`.`order` FROM `menus_menuitem` INNER JOIN `menus_menu` ON (`menus_menuitem`.`menu_id` = `menus_menu`.`id`) WHERE `menus_menu`.`slug` = about  ORDER BY `menus_menuitem`.`order` ASC; args=(u'about',) [in /usr/lib/python2.6/site-packages/django/db/backends/util.py (line 44)]
2012-05-30 09:13:33,404 DEBUG execute:  (0.000) SELECT `freetext_freetext`.`id`, `freetext_freetext`.`key`, `freetext_freetext`.`content`, `freetext_freetext`.`active` FROM `freetext_freetext` WHERE (`freetext_freetext`.`active` = True  AND `freetext_freetext`.`key` = contactdetails-footer ); args=(True, u'contactdetails-footer') [in /usr/lib/python2.6/site-packages/django/db/backends/util.py (line 44)]

I checked database and there is no table calls thumbnail_kvstore, but I have database backup, and in backup files this table doesn't exist.

All uploaded files I get are in media/uploads/media/.

Also I'm getting errors on some pages:

Syntax error. Expected: ``thumbnail source geometry [key1=val1 key2=val2...] as var``
/usr/lib/python2.6/site-packages/sorl_thumbnail-11.12-py2.6.egg/sorl/thumbnail/templatetags/thumbnail.py in __init__, line 72
In template /var/www/vhosts/domain.co.uk/sites/apps/shop/products/templates/products/product_detail.html, error at line 34
{% thumbnail image.file "800x700" detail as zoom %}

Maybe some modules I install are not in the right version. Dont know how to fix it.

Im using, CentOS 6, mod_wsgi, apache, python 2.6.

Update 1.0:

On the old server was Django 1.3, on the new one is Django 1.3.1

Update 1.1:

I this i know where is the problem. I tried python manage.py syncdb and this is output:

Syncing...
Creating tables ...
The following content types are stale and need to be deleted:

    orders | ordercontact

Any objects related to these content types by a foreign key will also
be deleted. Are you sure you want to delete these content types?
If you're unsure, answer 'no'.

    Type 'yes' to continue, or 'no' to cancel: no
Installing custom SQL ...
Installing indexes ...
No fixtures found.

Synced:
 > django.contrib.auth
 > django.contrib.contenttypes
 > django.contrib.sessions
 > django.contrib.sites
 > django.contrib.messages
 > django.contrib.admin
 > django.contrib.admindocs
 > django.contrib.markup
 > django.contrib.sitemaps
 > django.contrib.redirects
 > django_filters
 > freetext
 > sorl.thumbnail
 > django_extensions
 > south
 > currencies
 > pagination
 > tagging
 > honeypot
 > core
 > faq
 > logentry
 > menus
 > news
 > shop
 > shop.cart
 > shop.orders

Not synced (use migrations):
 - dbtemplates
 - contactform
 - links
 - media
 - pages
 - popularity
 - testimonials
 - shop.brands
 - shop.collections
 - shop.discount
 - shop.pricing
 - shop.product_types
 - shop.products
 - shop.shipping
 - shop.tax
(use ./manage.py migrate to migrate these)

Next I run python manage.py migrate, and thats what i get:

Running migrations for dbtemplates:
 - Migrating forwards to 0002_auto__del_unique_template_name.
 > dbtemplates:0001_initial
 ! Error found during real run of migration! Aborting.

 ! Since you have a database that does not support running
 ! schema-altering statements in transactions, we have had
 ! to leave it in an interim state between migrations.

! You *might* be able to recover with:   = DROP TABLE `django_template` CASCADE; []
   = DROP TABLE `django_template_sites` CASCADE; []

 ! The South developers regret this has happened, and would
 ! like to gently persuade you to consider a slightly
 ! easier-to-deal-with DBMS.
 ! NOTE: The error which caused the migration to fail is further up.
Traceback (most recent call last):
  File "manage.py", line 13, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/lib/python2.6/site-packages/django/core/management/base.py", line 220, in execute
    output = self.handle(*args, **options)
  File "/usr/lib/python2.6/site-packages/South-0.7.3-py2.6.egg/south/management/commands/migrate.py", line 105, in handle
    ignore_ghosts = ignore_ghosts,
  File "/usr/lib/python2.6/site-packages/South-0.7.3-py2.6.egg/south/migration/__init__.py", line 191, in migrate_app
    success = migrator.migrate_many(target, workplan, database)
  File "/usr/lib/python2.6/site-packages/South-0.7.3-py2.6.egg/south/migration/migrators.py", line 221, in migrate_many
    result = migrator.__class__.migrate_many(migrator, target, migrations, database)
  File "/usr/lib/python2.6/site-packages/South-0.7.3-py2.6.egg/south/migration/migrators.py", line 292, in migrate_many
    result = self.migrate(migration, database)
  File "/usr/lib/python2.6/site-packages/South-0.7.3-py2.6.egg/south/migration/migrators.py", line 125, in migrate
    result = self.run(migration)
  File "/usr/lib/python2.6/site-packages/South-0.7.3-py2.6.egg/south/migration/migrators.py", line 99, in run
    return self.run_migration(migration)
  File "/usr/lib/python2.6/site-packages/South-0.7.3-py2.6.egg/south/migration/migrators.py", line 81, in run_migration
    migration_function()
  File "/usr/lib/python2.6/site-packages/South-0.7.3-py2.6.egg/south/migration/migrators.py", line 57, in <lambda>
    return (lambda: direction(orm))
  File "/usr/lib/python2.6/site-packages/django_dbtemplates-1.3-py2.6.egg/dbtemplates/migrations/0001_initial.py", line 18, in forwards
    ('last_changed', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),
  File "/usr/lib/python2.6/site-packages/South-0.7.3-py2.6.egg/south/db/generic.py", line 226, in create_table
    ', '.join([col for col in columns if col]),
  File "/usr/lib/python2.6/site-packages/South-0.7.3-py2.6.egg/south/db/generic.py", line 150, in execute
    cursor.execute(sql, params)
  File "/usr/lib/python2.6/site-packages/django/db/backends/util.py", line 34, in execute
    return self.cursor.execute(sql, params)
  File "/usr/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 86, in execute
    return self.cursor.execute(query, args)
  File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 174, in execute
    self.errorhandler(self, exc, value)
  File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1050, "Table 'django_template' already exists")

Also i run python manage.py migrate --list, and uotput is:

 dbtemplates
  (*) 0001_initial
  (*) 0002_auto__del_unique_template_name

 contactform
  (*) 0001_initial
  (*) 0002_auto__add_callback
  (*) 0003_auto__add_field_callback_notes
  (*) 0004_auto__add_field_callback_is_closed__add_field_callback_closed
  (*) 0005_auto__add_field_callback_url
  (*) 0006_auto__add_contact
  (*) 0007_auto__add_field_contact_category
  (*) 0008_auto__add_field_contact_url

 links
  (*) 0001_initial
  (*) 0002_auto__add_field_category_enabled__add_field_category_order

 media
  (*) 0001_initial
  (*) 0002_auto__del_field_image_external_url__add_field_image_link_url__del_fiel
  (*) 0003_add_model_FileAttachment
  (*) 0004_auto__chg_field_file_slug__chg_field_image_slug
  (*) 0005_auto__chg_field_image_file
  (*) 0006_auto__chg_field_file_file

 pages
  (*) 0001_initial
  (*) 0002_auto__chg_field_page_meta_description__chg_field_page_meta_title__chg_
  (*) 0003_auto__add_field_page_show_in_sitemap
  (*) 0004_auto__add_field_page_changefreq__add_field_page_priority

 popularity
  (*) 0001_initial

 testimonials
  (*) 0001_initial
  (*) 0002_auto__add_field_testimonial_is_featured

 brands
  (*) 0001_initial
  (*) 0002_auto__add_field_brand_template
  (*) 0003_auto__chg_field_brand_meta_description__chg_field_brand_meta_title__ch
  (*) 0004_auto__add_field_brand_url
  (*) 0005_auto__del_field_brand_image__add_field_brand_logo

 collections
  (*) 0001_initial
  (*) 0002_auto__add_field_collection_discount
  (*) 0003_auto__chg_field_collection_meta_description__chg_field_collection_meta
  (*) 0004_auto__add_field_collection_is_featured
  (*) 0005_auto__add_field_collection_order

 discount
  (*) 0001_initial
  (*) 0002_added_field_discount_description
  (*) 0003_auto__add_field_discountvoucher_automatic
  (*) 0004_auto__add_field_discountvoucher_collection
  (*) 0005_auto__del_field_discountvoucher_collection
  (*) 0006_auto__chg_field_discountvoucher_expiry_date

 pricing
  (*) 0001_initial
  (*) 0002_auto__add_pricingrule

 product_types
  (*) 0001_initial
  (*) 0002_auto__add_field_producttype_meta_title__add_field_producttype_meta_des
  (*) 0003_auto__add_field_producttype_summary__add_field_producttype_description

 products
  (*) 0001_initial
  (*) 0002_auto__del_field_product_is_featured
  (*) 0003_auto__chg_field_product_meta_keywords__chg_field_product_meta_descript
  (*) 0004_auto

 shipping
  (*) 0001_initial
  (*) 0002_auto__add_field_shippingmethod_includes_tax__add_field_shippingmethod_
  (*) 0003_auto__add_field_shippingmethod_order
  (*) 0004_auto__del_field_shippingmethod_tax_rate__del_field_shippingmethod_incl
  (*) 0005_auto__del_field_shippingrule_enabled

 tax
  (*) 0001_initial
  (*) 0002_auto__add_field_taxrate_internal_name
  (*) 0003_initial_internal_names
  (*) 0004_auto__add_unique_taxrate_internal_name
  (*) 0005_force_unique_taxrate_name
  (*) 0006_auto__add_unique_taxrate_name

After that some images source were something like this:

 src="cache/1e/bd/1ebd719910aa843238028edd5fe49e71.jpg"

Is any1 could help me with syncdb pledase?

© Stack Overflow or respective owner

Related posts about django

Related posts about migrate