代码之家  ›  专栏  ›  技术社区  ›  Edamame

Django urlpatterns设置

  •  1
  • Edamame  · 技术社区  · 6 年前

    我有一个Django项目 urls.py 看起来像:

    urlpatterns = [
        path('', views.index, name='index'),
        path('polls/search', views.search, name='search'),
    
    ]
    

    然后我想在url.py中为我的图像添加额外的路径

    urlpatterns += patterns('django.views.static',(r'^media/(?P<path>.*)','serve',{'document_root':settings.MEDIA_ROOT}), )
    

    但我得到了:

     unresolved reference 'patterns'
    

    我使用的是python 3.4和Django 2.0.8。如何正确地将附加路径添加到原始url.py?谢谢!

    1 回复  |  直到 6 年前
        1
  •  1
  •   Athena Vinod R    6 年前

    看起来像是在用 patterns 不会再工作了。既然您试图提供静态文件,请尝试以下操作:

    from django.conf import settings
    from django.conf.urls.static import static
    
    urlpatterns = [
        # ... the rest of your URLconf goes here ...
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    

    并在settings.py中设置MEDIA_URL和MEDIA_ROOT。

    为了让它在模板中工作,您需要执行以下操作:

    {% load static %}
    <body data-media-url="{% get_media_prefix %}">
    

    Django docs