操作系统中的自定义URL和视图

2024-05-16 23:53:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我好像找不到与oscar匹配的网址。我的奥斯卡应用程序是主应用程序中的子应用程序。{myviews^中的理解是在cd1>模块中创建NoReverseMatch。Oscar页面全部加载,只是不是我的自定义视图

在myapp/shop/dashboard中/应用程序副本在

from django.contrib.auth import views as auth_views
from django.contrib.auth.forms import AuthenticationForm
from django.conf.urls import include, url
from oscar.core.application import DashboardApplication
from oscar.core.loading import get_class
from views import HomeViews
class DashboardApplication(DashboardApplication):

    def get_urls(self):
        urls = [
            url(r'^someurl/', HomeViews.dosomething, name="hi"),
        ]
        return self.post_process_urls(urls)

application = DashboardApplication()

在myapp/shop/dashboard中/视图.py在

^{2}$

我在我的应用程序里注册了设置.py在

INSTALLED_APPS =[
...
]] + get_core_apps(['shop'])

在我的主应用程序url中,我包含了oscar的url

from shop.app import application as shop_app
urlpatterns = i18n_patterns(
    url(r'^shop/', include(shop_app.urls)),

Tags: djangofromcoreimportauthapp应用程序url
1条回答
网友
1楼 · 发布于 2024-05-16 23:53:24

您需要扩展现有的url列表,而不是替换它。这就是为什么没有反向匹配错误,因为oscar可能拥有的默认url已经不存在了。对于任何其他非奥斯卡分岔的应用程序,这是可以的(只有你自己的网址,没有其他)。在

class DashboardApplication(DashboardApplication):

    def get_urls(self):
        my_urls = [
            url(r'^someurl/', HomeViews.dosomething, name="hi"),
        ]
        default_urls = super(DashboardApplication, self).get_urls()
        return self.post_process_urls(my_urls) + default_urls

相关问题 更多 >