Django 无法使用 uwsgi 重新编辑某些 url
Django cannot redict some of urls with uwsgi
在 project/urls.py 中,这是根 urls.py .
urlpatterns = [
url(r'^webadmin/', include('webadmin.urls')), # With templates and plain text for returning.
url(r'^api/', include('restAPI.urls')), # Without templates. Only plain text for returning.
]
在webadmin/urls.py
urlpatterns = [
url(r'^api/login/', views.login, name='login'),
url(r'^api/search/', views.search, name='search'),
url(r'^api/delProject/', views.delProject, name='delProject'),
url(r'^api/addProject/', views.addProject, name='addProject'),
url(r'^api/statistics/', views.statistics, name='statistics'),
url(r'^(?P<action>(users|login|statistics|projects))/', views.index, name='webadmin'),
url(r'^', views.index, name='index'),
]
restAPI 中的所有 url 都正常工作。
但在webadmin
中,所有url都被重定向到views.index
。
例如,当我转到http://example.com/webadmin/api/login/
时,它会显示http://example.com/webadmin/
。
如果我删除最后一行 url(r'^', views.index, name='index')
,则没有任何变化。
如果我使用python3 manage.py runserver
,结果是正确的。
我的 uwsgi ini 是:
[uwsgi]
chdir=/var/www/project
wsgi-file=/var/www/project/project/wsgi.py
static-map = /static/=/var/www/project/static/
max-requests=5000
daemonize=/var/log/uwsgi/project.log
http = :8000
vacuum = true
master = true
您需要添加行尾锚点$
url(r'^$', views.index, name='index'),
在 project/urls.py 中,这是根 urls.py .
urlpatterns = [
url(r'^webadmin/', include('webadmin.urls')), # With templates and plain text for returning.
url(r'^api/', include('restAPI.urls')), # Without templates. Only plain text for returning.
]
在webadmin/urls.py
urlpatterns = [
url(r'^api/login/', views.login, name='login'),
url(r'^api/search/', views.search, name='search'),
url(r'^api/delProject/', views.delProject, name='delProject'),
url(r'^api/addProject/', views.addProject, name='addProject'),
url(r'^api/statistics/', views.statistics, name='statistics'),
url(r'^(?P<action>(users|login|statistics|projects))/', views.index, name='webadmin'),
url(r'^', views.index, name='index'),
]
restAPI 中的所有 url 都正常工作。
但在webadmin
中,所有url都被重定向到views.index
。
例如,当我转到http://example.com/webadmin/api/login/
时,它会显示http://example.com/webadmin/
。
如果我删除最后一行 url(r'^', views.index, name='index')
,则没有任何变化。
如果我使用python3 manage.py runserver
,结果是正确的。
我的 uwsgi ini 是:
[uwsgi]
chdir=/var/www/project
wsgi-file=/var/www/project/project/wsgi.py
static-map = /static/=/var/www/project/static/
max-requests=5000
daemonize=/var/log/uwsgi/project.log
http = :8000
vacuum = true
master = true
您需要添加行尾锚点$
url(r'^$', views.index, name='index'),