我使用django-pipeline
加载静态文件。
奇怪的是,StaticLiveServerTestCase
' s live_server_url
无法正确加载静态文件。
以下是代码的一部分:
class ProductSetupTestCase(TestCase):
@classmethod
def setUpClass(cls):
super(ProductSetupTestCase, cls).setUpClass()
# place category
cls.place_category = PlaceCategory.objects.create(name="학교")
# subject category
cls.subject_category1 = SubjectCategory.objects.create(name="사람")
cls.subject_category2 = SubjectCategory.objects.create(name="꽃병")
for i in range(5):
name = 'name' + str(i)
product = Product.objects.create(
name=name,
place_category=cls.place_category,
)
product.subject_category_set.add(cls.subject_category1)
product.subject_category_set.add(cls.subject_category2)
product.variation_set.create(color='black')
product.variation_set.create(color='single')
product.variation_set.create(color='multi')
class CartItemEditTest(ProductSetupTestCase, StaticLiveServerTestCase):
def setUp(self):
self.browser = webdriver.Firefox()
self.browser.implicitly_wait(2)
Firefox
浏览器出现,我执行follow命令:
self.browser.get(self.live_server_url) # self.live_server_url value is localhost:8081
当我使用开发工具检查js
文件时,它显示如下:
<script type="text/javascript" src="/static/js/message.8d038600d898.js" charset="utf-8"></script>
当我复制src
(http://localhost:8081/static/js/message.8d038600d898.js
)并将其粘贴到新标签中时,它不会显示Not Found
。
现在我使用了其他网址http:localhost:8000
,即django runserver url
。
self.browser.get(
http://localhost:8000`)
当我检查这个时间时,它很好地加载了静态文件:
<script type="text/javascript" src="/static/js/message.js" charset="utf-8"></script>
为什么会这样?我不应该再使用live_server_url
吗?