我正在为我使用Django开发的项目编写一些测试代码。测试代码如下:
from django.test import TestCase, override_settings
from django.core.files import File
import sys
import os
from .models import Manual
@override_settings(MEDIA_ROOT=os.getcwd()+'/temp/django_test')
# Create your tests here.
class ManualModelTests(TestCase):
def tearDown(self):
try:
os.remove('/temp/django_test/test_image.jpg')
except FileNotFoundError:
pass
def test_normal_manual_upload(self):
in_image = open(os.path.join(os.path.dirname(__file__), 'test_image.jpg'), 'r+b')
in_file = open(os.path.join(os.path.dirname(__file__), 'test_manual.pdf'), 'r+b')
thumbnail = File(in_image)
in_manual = File(in_file)
new_manual = Manual.objects.create(
photo=thumbnail,
manual=in_manual,
make='yoshimura',
model='001',
year_min=2007,
year_max=2010
)
self.assertTrue(os.path.exists('/temp/django_test/photos/test_image.jpg'))
self.assertTrue(os.path.exists
('/temp/django_test/manuals/test_manual.pdf'))
self.tearDown()
模型代码如下:
class Manual(models.Model):
photo = models.ImageField(upload_to="photos")
make = models.CharField(max_length=50)
model = models.CharField(max_length=100)
manual = models.FileField(upload_to="manuals")
year_min = models.PositiveIntegerField(default=0)
year_max = models.PositiveIntegerField(default=0)
测试代码旨在创建一个Manual对象(只需测试以查看模型是否正常保存)。但是,在运行代码后,在完成模型构造函数调用之后,我得到了一个疯狂的长错误,该错误是在python的makdirs()函数的许多调用以
结尾之后出现的OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'C:\\Users\\Jason\\Projects\\motomanuals\\temp\\django_test\\photos\\C:'
可以找到错误的完整粘贴框here
我的猜测是问题出在以'\\ C:'结尾的路径吗?
我的问题是: