5

Tôi đã có vấn đề với phương pháp tải lên trên admin/url:Đã cố gắng truy cập vào '/ media/uploads/

Trong thiết lập của tôi:

# Absolute filesystem path to the directory that will hold user-uploaded files. 
# Example: "/var/www/example.com/media/" 
MEDIA_ROOT = os.path.join(PROJECT_PATH, "media") 

# URL that handles the media served from MEDIA_ROOT. Make sure to use a 
# trailing slash. 
# Examples: "http://example.com/media/", "http://media.example.com/" 
MEDIA_URL = '/media/' 

# Absolute path to the directory static files should be collected to. 
# Don't put anything in this directory yourself; store your static files 
# in apps' "static/" subdirectories and in STATICFILES_DIRS. 
# Example: "/var/www/example.com/static/" 
STATIC_ROOT = '' 

# URL prefix for static files. 
# Example: "http://example.com/static/", "http://static.example.com/" 
STATIC_URL = '/static/' 

# Additional locations of static files 
STATICFILES_DIRS = (
    os.path.join(PROJECT_PATH, "static"), 
) 

# List of finder classes that know how to find static files in 
# various locations. 
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
# 'django.contrib.staticfiles.finders.DefaultStorageFinder', 
) 

Và trên LMS của tôi/models.py

MEDIA_TYPES = (
    ('Videos', 'Videos'), 
    ('Photos', 'Photos'), 
    ('PDF', 'PDF'), 
) 


class LessonFile(models.Model): 
    """ 
    The files for every lessons 
    """ 
    lesson = models.ForeignKey(Lesson) 
    documents = models.FileField(upload_to='/media/uploads/lms/lessons/') 
    title = models.CharField(max_length=255) 
    media_type = models.CharField(max_length=255, choices=MEDIA_TYPES) 

    def __unicode__(self): 
     return self.lesson 

vào admin/của tôi, khi tôi cố gắng để tiết kiệm một tài liệu (bằng phương pháp upload):

Đã cố gắng truy cập vào '/ media/uploads/LMS/bài học/xxxx. pdf 'bị từ chối.

Trả lời

0

Hãy thử sau khi xóa dấu gạch chéo hàng đầu trong đối số upload_to.

class LessonFile(models.Model): 
    ... 
    documents = models.FileField(upload_to='uploads/lms/lessons/') 
    ... 

Cập nhật: Đã xóa thêm media thư mục trong đối số upload_to.

+0

và điều này sẽ tải tài liệu lên PROJECT_PATH/media/media/uploads/lms/lessons/(lưu ý 'phương tiện' trùng lặp) –

+0

Đúng, cập nhật nó. –

Các vấn đề liên quan