我的django app的网址设置如下:我的开发机器:
urls.py:
urlpatterns = [
url(r'^$', home, name='home'),
url(r'^signin$', signin, name='signin'),
url(r'^signout$', signout, name='signout'),
url(r'^advisor/', include('apps.advisor.urls', namespace='advisor')),
使用Django的内置服务器(例如http://127.0.0.1:8000)开发应用程序时,此设置正常。我必须将应用程序部署到一台机器上,并通过以下URL公开Django应用程序:
http://ip地址/ appname /
我想配置我的urls.py文件,以便url中的正则表达式测试以查看url请求是以“appname”还是“”(空字符串)开头。这个方法意味着我不必创建urls.py文件(dev和prod版本)。谢谢你的帮助!
答案 0 :(得分:3)
你根本不需要这样做。当您的应用程序通过WSGI部署时,服务器应传递SCRIPT_NAME参数,该参数标识其安装的路径。只要您在整个应用中始终使用{% url %}
和reverse()
而不是硬编码链接,一切都会正常工作。