'TypeError: 'module' object is not callable (+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT))
here is my django project's urls.py
from django.urls import path
from .import views
from django.conf import settings
from django.conf.urls import static
urlpatterns = [
path('',views.index,name='home'),
path('abouts/about/',views.about,name='about'),
path('abouts/contact/',views.contact,name='contact'),
path('orders/cart/',views.cart,name='cart'),
path('shops/dashboard/',views.dashboard,name='dashboard'),
path('shops/orders/',views.orders,name='orders'),
path('shops/checkout/',views.checkout,name='checkout'),
] +static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
and the part of settings.py where I defined media url and media root
import os
# Default primary key field type
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
STATICFILES_DIRS = [
BASE_DIR/ 'static',
]
STATIC_ROOT = os.path.join(BASE_DIR, 'assets')
MEDIA_URL='/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
but the server says
ile "C:\Users\ITS\Desktop\e-com\commerce\shop\urls.py", line 15, in <module>
] +static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
TypeError: 'module' object is not callable
I do this always but now it showing me this. thanks in advance for helping.
Solution 1:[1]
You could try to replace from django.conf.urls import static
to from django.conf.urls.static import static
in your Django project's urls.py
. Pay attention to details.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | richardec |