私はDjango Webアプリケーションに画像を追加しようとしています。私はこのようなものになります私のmodels.pyでのモデルがあります:ImageFieldのURLが空の文字列を返す
# settings.py
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = posixpath.join(*(BASE_DIR.split(os.path.sep) + ['static']))
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
MEDIA_URL = '/media/'
と私urls.pyのために私が持っている:私のsettings.pyについて
# models.py
from django.db import models
# Create your models here.
class Protese(models.Model):
'''Proteses usadas no High Five'''
# Parte independente da lingua
Nome = models.CharField(max_length = 200)
Autores = models.CharField(max_length = 200)
AutoresURL = models.CharField(max_length = 200)
Foto = models.ImageField()
Data = models.DateTimeField()
# Portugues
Descricao = models.TextField()
# Ingles
Description = models.TextField()
def __str__(self):
return self.Nome
class Membro(models.Model):
'''Membros do projeto'''
# Parte independente da lingua
Nome = models.CharField(max_length = 200)
Foto = models.ImageField()
LinkedIn = models.CharField(max_length = 200)
# Portugues
Posicao = models.CharField(max_length = 200)
Frase = models.TextField()
# Ingles
Position = models.CharField(max_length = 200)
Quote = models.TextField()
def __str__(self):
return self.Nome
class FeaturedImage(models.Model):
''' Imagem que aparece no comeco da pagina principal'''
Image = models.FileField()
# Portugues
Titulo = models.CharField(max_length = 200)
Texto = models.TextField()
# Ingles
Title = models.CharField(max_length = 200)
Text = models.TextField()
class Post(models.Model):
''' Posts de noticias '''
Imagem = models.ImageField()
# pt
Titulo = models.CharField(max_length = 200)
Texto = models.TextField()
# en
Title = models.CharField(max_length = 200)
Text = models.TextField()
を私は次のコードを持っています次
# urls.py
from datetime import datetime
from django.conf.urls import url
import django.contrib.auth.views
import app.models as models
import app.views as views
# Uncomment the next lines to enable the admin:
from django.conf.urls import url,include
from django.contrib import admin
admin.autodiscover()
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# Pagina principal
url(r'^$',views.index,kwargs = {'lang':'pt'} ,name = 'index'),
url(r'^index.html$',views.index,kwargs = {'lang':'pt'} ,name = 'index'),
url(r'^en/$',views.index,kwargs = {'lang':'en'} ,name = 'index'),
url(r'^en/index.html$',views.index,kwargs = {'lang':'en'} ,name = 'index'),
# Sobre nos
url(r'^about.html$',views.about, name = 'about'),
# Servicos
url(r'^services.html$',views.services, name = 'about'),
# Contato
url(r'^contact.html$',views.contact, name = 'about'),
# Proteses
url(r'^single/(?P<page_name>[A-Za-z0-9]+)/$',views.single, name='single'),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
私は、次のviews.py機能を使用して、私のビューをレンダリングしています:
# views.py
def index(request, lang):
context = {
'featured_images':FeaturedImage.objects.all(),
'proteses': Protese.objects.all(),
'posts': Post.objects.all(),
'lang': lang
}
return render(request, 'web/index.html',context)
が、私は次のように入力して画像のURLを取得しようとすると、その後、私のテンプレートに:
私が現れて、タイトルを持っていますが、画像は表示されません。なぜこれが起こっている上の任意のアイデア
<div class="banner-bottom" style="background: url()no-repeat center;">
:私は、ページのソースコードをチェックすると私はイメージタグapperingがありますか?ここ は、私が実行したときに、データベースから出力されます:あなたの元のファイルを見た後、これは次のようになります。
ラテンダミーコードが一部である--dbshell
select * from app_foo;
1|Lorem Ipsum|At vero eos et accusamus et iusto odio dignissimos|Lore Ipsum|Sed ut perspiciatis unde omnis iste natus error|1.png
は私のモデルで他のものを、OSのアップデートが
fooが、データベース内の画像に設定された値を持っていますか? – 2ps
はい、Imageをアップロードしたところでfooオブジェクトを作成しましたが、表示しようとしています –
データベースに値を投稿してください。 – 2ps