Fix lỗi Specifying a namespace in include() without providing an app_name

Lê Trang

Em mới tập làm quen với router trong Django và có tạo 1 router như sau:

from django.urls import include, path

urlpatterns = [
    path('articles/', include('articles.urls', namespace='articles')),
    ....
]

Nhưng khi chạy thì thấy trình duyệt báo về lỗi:

'Specifying a namespace in include() without providing an app_name '
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.

Em có tìm trên doucment nhưng ko thấy hướng dẫn cụ thể về phần namespace. Bác nào biết chỉ giúp em cách fix lỗi này với. Em cảm ơn!

Chỉnh sửa
Thêm bình luận
Huỷ

2 Câu Trả Lời

Lê Trung

Có 2 cách fix lỗi trên:

Thêm app_name trong Router

Code như sau:

url(r'^reviews/', include(('articles.urls', 'articles'), namespace='articles')),

Gán Giá Trị Cho app_name trong Từng File url.py

Code như sau:

# articles/urls.py
app_name = 'articles'
Thêm bình luận
Huỷ

Thêm Trả Lời

Câu Hỏi Liên Quan