上传文件POST url在部署时引发404

时间:2018-02-07 17:06:51

标签: django apache cpanel

我正在使用apache和cPanel在主机上部署django应用程序。我想我做了django需要部署的所有步骤。一切正常,除了圆顶 admin 帖子网址。 当我通过从管理站点发送表单时,其中一个字段是一个将上传到目录的文件,服务器会回复我404.一些信息: Python 3.5,Django 1.11.9 未找到错误404 何时:发送包含“选择文件”字段的任何帖子表单,即使该文件不是强制性的。 其字段中没有文件的表单可以正常工作。在生产中,一切都很完美。 我在public_html文件夹中有一个符号链接到我的媒体和静态文件夹。 此错误仅显示在管理页面中。我可以毫无问题地从网站上传文件 这是我的代码: 的 urls.py

urlpatterns = i18n_patterns(
url(r'^admin/', admin.site.urls),
url(r'^i18n/', include('django.conf.urls.i18n')),
url(r'^', include('myapp.urls')),
prefix_default_language=False)

settings.py

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

这是我第一次托管网站,所以,对不起,如果我问一个虚拟问题,但我找不到任何解决方案,即使在这里。另外,对不起我的英语。感谢您将来的答案

修改 我的非管理员表单非常完美。问题出在管理页面中。我用粗体

的变化编辑了我的旧问题

2 个答案:

答案 0 :(得分:0)

可能是网络服务器问题。检查您的cPanel设置 您的wsgi文件位置可能有问题 查看some tutorial了解详情。

答案 1 :(得分:0)

如果您使用django的静态文件服务器提供媒体文件,则应以特定顺序分配项目基础urlpatterns文件中的urls.py变量,以便将i18n_patterns(...)分配在static(...)网址之前。

您应该这样做:

urlpatterns = i18n_patterns(
    url(r'^admin/', admin.site.urls),
    url(r'^i18n/', include('django.conf.urls.i18n')),
    url(r'^', include('myapp.urls')),
    prefix_default_language=False)

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)