Python django LRS无法设置。找不到文件错误

时间:2013-04-10 10:44:29

标签: python django tin-can-api

我正在使用ADL LRS设置LRS(学习记录存储)系统供我自己使用。它使用TIN CAN API。我正在使用ubuntu服务器

正如文档所述,对于LRS的设置,我需要安装django adn为LRS设置它。 ADL_LRS中的adl_lrs文件夹包含django(settings.py)的设置文件。我对django有点新意,所以我无法完全理解文件这一部分的含义 -

# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/media/"
MEDIA_ROOT = '/var/www/adllrs/media/'

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

# 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: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = ''

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

# Additional locations of static files
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

它声明 -  1. MEDIA_ROOT = '/var/www/adllrs/media/'我认为这意味着将歌曲和视频等媒体文件放在这个位置  2. STATIC_ROOT = ''我假设的是静态目录的路径,其中包含HTML,CSS,js文件。

在克隆git时,我设置了LRS,顺便说一下,所有的CSS都被破坏了。我查看了DOM检查器,CSS文件的链接就像 -

http://my-site-name.com:8000/static/admin/css/base.css

当我访问上面的网址以查看正在发生的事情时,我得到以下输出为HTML(与我访问主页时相同,即 http://my-site-name.com:8000 ) -

Page not found (404)
Request Method:     GET
Request URL:    http://my-site-name.com:8000/

    Using the URLconf defined in adl_lrs.urls, Django tried these URL patterns, in this order:

        ^XAPI/
        ^xapi/
        ^admin/

    The current URL, , didn't match any of these.

我的urls.py看起来像 -

url(r'^XAPI/', include('lrs.urls')),
url(r'^xapi/', include('lrs.urls')),

# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls))

显然我没有在urls.py中提到我的主页,指出错误。那么我应该在哪里放置CSS,JS文件来修复损坏的CSS并为此创建一个默认主页?而且我也尝试从wordpress发送锡罐语句,但我无法在我的服务器上获取语句。谁能告诉我如何在ubuntu上设置合适的ADL LRS。

PS-不要告诉我阅读文档,因为我已经做了十几次。告诉我在实施文档时我的错误。

1 个答案:

答案 0 :(得分:1)

听起来你的LRS只用枪炮就可以了。 gunicorn本身不提供像JS和CSS这样的静态文件。我发现另一个SO页面正在讨论用gunicorn提供静态文件:https://stackoverflow.com/a/12801140/1187723

至于LRS,当我在本地开发和测试时,我运行Django的测试服务器,它将提供静态文件。从项目的根目录ADL_LRS,以python manage.py runserver启动它。 https://docs.djangoproject.com/en/1.4/ref/django-admin/#runserver-port-or-address-port

当我们在https://lrs.adlnet.gov/xapi/部署LRS时,我们使用nginx,它被配置为提供静态文件。我们在https://github.com/adlnet/ADL_LRS/wiki/Using-Nginx-for-Production

处有一些关于它的初步设置