Django Test(StaticLiveServerTestCase)返回404

2024-04-18 03:31:38 发布

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

我有一个使用Angular和Django的项目,当我使用StaticLiveServerTestCase和Selenium测试我的应用程序时,我遇到了一个奇怪的行为。你知道吗

当我开始测试它的一切似乎都工作,但如果我刷新主页,我收到一个404。因此,如果我在没有基本URL的情况下进行测试,它可以工作,但是一旦添加了基本URL,测试将返回404: http://127.0.0.1:8000/project/development/test

在中定义的基本URL索引.html: 你知道吗

我的URL定义如下: 重新路径('测试',视图.索引,name='index')

所以,总结一下,当我测试http://127.0.0.1:8000/test时,它可以工作,但是如果我测试http://127.0.0.1:8000/project/development/test,它就不能工作——如果我正常运行我的应用程序,两个url都可以工作。你知道吗

根据我的新手知识和URL模式的定义,两个URL都应该工作。很明显,我错过了别的东西。你知道吗

提前谢谢。你知道吗

注:测试等级定义如下:

class Tests(StaticLiveServerTestCase):

def set_chrome_options(cls):
    options = Options()
    options.add_experimental_option("useAutomationExtension", False)
    return options

@classmethod
def setUpClass(cls):
    cls.host = "127.0.0.1"
    cls.port = 8000
    super(Tests, cls).setUpClass()
    cls.selenium = webdriver.Chrome(executable_path=settings.DRIVER_PATH, options=cls.set_chrome_options(cls))
    ...

关于模式:

urlpatterns = [
    path('', views.index, name='home'),
    re_path('test', views.index, name='index'),
    path('project', views.index, name='index'),
    ...

Tags: pathnametestproject应用程序httpurlindex