我真的不知道如何解释我的问题。 我想要做的是以下几点。
我的管理员将我的Django服务器地址192.168.2.1:8001链接到一个网址:devel.genesilico.pl/modomics,公开网站,否则只能在我们的本地网络上看到。
如果我访问该地址,我会看到没有静态文件的网站主页,如果我尝试访问其他网页,则地址会更改为:
devel.genesilico.pl/modifications
因此删除了modomics前缀路径,找不到页面。
我认为更改我的URLs.py在所有这些内容中添加modomics将解决此问题,但不是。在这一点上,Django的DEBUG向我展示了这个(照片附上)。在这种情况下,前缀" modomics"被删除了。
我不知道该怎么做。我不知道这个问题是由Django提供的,还是由我的管理员给我的网址设置。
请注意,我仅针对应用修改进行测试。
这是我的主要urls.py:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('core.urls')),
url(r'^', include('modifications.urls')),
url(r'^', include('sequences.urls')),
url(r'^', include('pathways.urls')),]
这里是app修改的urls.py:
urlpatterns = [
url(r'^modomics/modifications$', views.modlist, name='modlist'),
url(r'^modomics/modifications/(?P<mod_name>.+)/$', views.moddescription, name='moddescription'),
]
答案 0 :(得分:1)
您似乎需要将应用程序配置为在子文件夹上运行。
正在发生的事情是reverse
函数正在生成根目录的相对URL /
,而不是/modomics
,因为您的服务器不知道它的托管方式不同。
在settings.py中,您可以设置FORCE_SCRIPT_NAME
= '/modomics'
以获取正确生成的网址,或
让您的管理员将/modomics
作为标题X-Script-Name
的值并在wsgi.py
- see this related answer
第一个解决方案的缺点是,您需要确保使用one of the settings file patterns for deployment将您的网站配置为在开发和生产中以不同方式运行,并且如果子文件夹发生更改,则需要与管理员协调。