2017-09-10 1 views
0

만약 이것이 중복되면 사과드립니다. 나는 웹을 샅샅이 뒤지고 여러 가지 해결책을 시도했다. 올바른 위치에 이미지를 업로드하는 이미지 업 로더를 만들었지 만, 내 urls.py에 이미지를 표시하지 못하게하는 무언가가 있다고 생각합니다.장고에 이미지 표시하기 - urls.py 설정하기

주석 처리 된 행은 내가 시도했지만 행운이 없습니다. urls.py :

from django.conf.urls import url 
from . import views 
from django.conf import settings 
from django.conf.urls.static import static 
app_name = 'orders' 
urlpatterns = [ 
url(r'^$',views.index,name='index'), 
url(r'^invoice/$', views.invoice, name='invoice'), 

url(r'^photo/$', views.UploadView.as_view()), 
#static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT), 
#static(r'^media/', document_root=settings.MEDIA_ROOT), 
#url("^media/(?P<path>.*)$","django.views.static.serve",{"document_root": settings.MEDIA_ROOT}), 


url(r'^catalog/$', views.catalog, name='catalog'), 
url(r'^postStampsShipments/$', views.postStampsShipments, name='postStampsShipments'), 
url(r'^catalog/(?P<SKU>[^/]+)/$', views.catalogDetail, name='catalogDetail'), 
url(r'^catalogchange/(?P<SKU>[^/]+)/$', views.catalogChange, name='catalogChange'), 
url(r'^updateOSTKCat/$', views.updateCatalogOSTK, name='OSTKCat'), 

url(r'^items/$', views.item, name='items'), 
url(r'^items/(?P<SKU>[^/]+)/$', views.itemDetail, name='itemDetail'), 

url(r'^inventory/$', views.inventory, name='inventory'), 
url(r'^inventoryChange/$', views.inventoryChange, name = 'inventoryChange'), 

url(r'^test/$', views.test, name='test'), 
url(r'^genBarcode/$', views.genBarcode, name='genBarcode'), 
url(r'^barcode/$', views.barcode, name='barcode'), 

url(r'^(?P<retailOrderNumber>[^/]+)/', views.orderDetail,name = 'Detail'), 
url(r'^(?P<retailOrderNumber>[^/]+)/shipments/', views.shipments, name='shipments'),] 

보기 :

def itemDetail(request,SKU): 
    edit = request.GET.get('edit','') 
    itm = Item.objects.filter(SKU=SKU)[0] 
    vendors = Vendor.objects.all() 
    cat = Category.objects.all() 
    template = loader.get_template('orders/itemDetail.html') 
    context = { 
     'itemDetail':itm,'SKU':SKU,'edit':edit,'vendors':vendors,'cat':cat 
    } 
return HttpResponse(template.render(context, request)) 

settings.py : 내가보고하고

   <td>{% load static %} 
        {{ img.image.url }} 
        <img src="{{ img.image.url }}"> 
       </td> 

일반적인 오류 : 템플릿

MEDIA_URL = 'media/' 
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 

코드

당신의 오류 스택 트레이스에 밀접하게
Unhandled exception in thread started by <function wrapper at 0x0366AAB0> 
Traceback (most recent call last): 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\utils\autoreload.py", line 226, in wrapper 
    fn(*args, **kwargs) 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\core\management\commands\runserver.py", line 121, in inner_run 
    self.check(display_num_errors=True) 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\core\management\base.py", line 374, in check 
    include_deployment_checks=include_deployment_checks, 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\core\management\base.py", line 361, in _run_checks 
    return checks.run_checks(**kwargs) 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\core\checks\registry.py", line 81, in run_checks 
    new_errors = check(app_configs=app_configs) 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\core\checks\urls.py", line 14, in check_url_config 
    return check_resolver(resolver) 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\core\checks\urls.py", line 24, in check_resolver 
    for pattern in resolver.url_patterns: 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\utils\functional.py", line 35, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\urls\resolvers.py", line 313, in url_patterns 
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\utils\functional.py", line 35, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\urls\resolvers.py", line 306, in urlconf_module 
    return import_module(self.urlconf_name) 
    File "C:\Program Files (x86)\Anaconda2\lib\importlib\__init__.py", line 37, in import_module 
    __import__(name) 
    File "C:\MintJules\WebApp\MintJules\MintJules\urls.py", line 25, in <module> 
    url(r'^orders/',include('orders.urls')), 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\conf\urls\__init__.py", line 50, in include 
    urlconf_module = import_module(urlconf_module) 
    File "C:\Program Files (x86)\Anaconda2\lib\importlib\__init__.py", line 37, in import_module 
    __import__(name) 
    File "C:\MintJules\WebApp\MintJules\orders\urls.py", line 25, in <module> 
    url(r'^media/(.*)$', 'django.views.static.serve', {'document_root':os.path.join(os.path.dirname(__file__), 'static')}), 
    File "C:\Program Files (x86)\Anaconda2\lib\site-packages\django\conf\urls\__init__.py", line 85, in url 
    raise TypeError('view must be a callable or a list/tuple in the case of include().') 
TypeError: view must be a callable or a list/tuple in the case of include(). 

답변

0

봐는 :

url(r'^media/(.*)$', 'django.views.static.serve',{'document_root':os.path.join(os.path.dirname(__file__), 'static')}) 

TypeError :보기는 호출 또는 include()의 경우 목록/튜플을해야합니다.


장고 1.10은 더 이상 당신의 URL 패턴의 문자열 (예를 들어, 'django.views.static.serve') 등의 의견을 지정할 수 없습니다.

해결책은 호출 가능보기를 포함하도록 urls.py을 업데이트하는 것입니다. 이것은 당신이 당신 urls.py에서보기를 가져올 수 있다는 것을 의미 :

from django.views.static import serve 

urlpatterns = [ 
    url(r'^media/(.*)$', serve, {'document_root':os.path.join(os.path.dirname(__file__), 'static')}), 
    # ... 
] 

이것은 또한 the Django docs에 명시되어있다.

+0

예프. 그것은 그것이었다. .. 내가 그것을 놓쳤다라고 생각할 수 없다. 감사!! – ColtonChristensen1

+1

이 솔루션은 DEBUG = True 일 때만 작동한다는 점을 잊지 마십시오. 다음과 같이 설정됩니다 : ' 경우 settings.DEBUG : urlpatterns + = 정적 (settings.MEDIA_URL, DOCUMENT_ROOT = settings.MEDIA_ROOT)'당신은 Nginx에 – deaspo

+0

같은 도구를 사용하여 정적 및 미디어 파일을 제공해야 생산에서 @ 예. 좋은 메모. – wencakisa