我正在编写我的第一个Django
项目Django 2.0
。
我注意到另一个奇怪的行为Django
urlpatterns
。
我在starrednotes
其中有一个应用程序和模型Starred(models.Model)
Shared(models.Model)
在sharednotes
应用程序内也是如此
我已经使用urlpattern
与模型名称相同的路径模式配置了 for
urlpatterns = [
url(r'^starred/$', StarredNotes.as_view(), name='starred'),
url(r'^shared/$', SharedNotes.as_view(), name='shared'),
]
并且视图StarredNotes
是
class StarredNotes(ListView):
template_name = 'notes/starred.html'
model = Starred
context_object_name = 'starred_notes'
def get_queryset(self):
starred_notes = Starred.objects.filter(user=self.request.user)
return starred_notes
@method_decorator(login_required)
def dispatch(self, request, *args, **kwargs):
return super(self.__class__, self).dispatch(request, *args, **kwargs)
上面的 URL 设置可以使用
http://example.com/notes/shared
http://example.com/notes/starred
但是当我从admin
URL访问这两个模型时
http://example.com/admin/sharednotes/shared
http://example.com/admin/starrednotes/starred
这两个链接正在加载StarredNotes
和SharedNotes
类中的模板设置,而不是管理模板。