我是新Django的,我有一個問題,我希望你能幫助我解決。如何分配本地存儲到的ImageField場圖像,並在Django返回它的網址是什麼?
首先,我使用Django 1.8.3和Python 2.7.6上使用Apache和Postgres我的DBMS虛擬信封工作。
我有我的models.py文件以下模型:
class Hotel(models.Model):
# ...
name = models.TextField(blank=True, null=True)
img = models.ImageField(upload_to='images/',blank=True, null=True)
stars = models.IntegerField(blank=True, null=True)
# ...
class Meta:
managed = False
db_table = 'hotel'
我views.py文件看起來像這樣
from django.http import HttpResponse, Http404
from webServices.models import Hotels
from django.core import serializers
from django.core.exceptions import ObjectDoesNotExist
import json
# ...
def all_hotels(request):
hotels = Hotel.objects.values('name', 'img', 'stars')
data = json.dumps(list(hotels), indent = 4)
return HttpResponse(data, content_type='application/json')
而且在settings.py文件是我MEDIA_URL和MEDIA_ROOT變量定義如下:
MEDIA_URL = '/media/'
MEDIA_ROOT = '/path_to_my_projects_directory/media/'
正如你所看到的,我的工作,返回了JSON的服務器上數據庫中每家酒店的數據。它當然可以正常工作。
的Json的IMG領域一直是「空」到現在爲止,我需要本地存儲到其酒店每圖像關聯,並在它返回它的URL。
的問題是我不知道怎麼辦。
這是很好的瞭解,以及該DB通過Python腳本,因爲數據駐留在谷歌電子表格更新(我會告訴你,如果問)。
我一直在尋找一整天我發現這個職位 how to manually assign imagefield in Django 和本文 http://www.revsys.com/blog/2014/dec/03/loading-django-files-from-code/,但我需要他們更具體一點。