mim*_*lea 6 django django-rest-framework
问题几乎全是.
例如,将默认网址(http://127.0.0.1:8000)更改为自定义(https://api.example.com/v1)
我正在使用HyperlinkedModels,一切似乎都在开发中正常工作.使用自定义URL将应用程序移动到另一台服务器会给我带来麻烦.
如何更改默认网址:
对于一个自定义的,让我们说:
https://api.example.org/v1/
twi*_*wil 14
您将两个问题混合在一起:
django-rest-framework在不同的域上运行项目要回答第一个,我会说,"就这么做".Django reverse使用请求的域来构建绝对URL.
更新:不要忘记Host从nginx/apache 传递标头.下面是一个示例nginx配置:
server {
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8000;
}
}
Run Code Online (Sandbox Code Playgroud)
第二个(路径,挂载点)设置在urls.py:
from django.conf.urls import url, include
from django.contrib import admin
from rest_framework import routers
from quickstart import views
router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^v1/', include(router.urls)), # <-------------- HERE
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3488 次 |
| 最近记录: |