小编Nat*_*mer的帖子

为Django POST请求获取API

我正在尝试从React / Redux / Django webapp删除jQuery,并用$.ajaxFetch API 替换该方法。我或多或少地使我的所有GET请求都能正常工作,并且似乎能够实现POST请求,但似乎无法以将POST数据实际放入Django request.POST对象的方式格式化请求。每次我点击/ sign_in视图时,该request.POST对象都是空的。我整个应用程序的后端都是使用Django表单构建的(没有Django模板,只有React控制的组件),我真的不想不必重写所有视图以使用request.bodyrequest.data

这是我认为可能相关的所有代码,请告诉我是否还有更多有用的代码:

这是咖喱函数,用于构建完整的POST数据并附加CSRF令牌:

const setUpCsrfToken = () => {
  const csrftoken = Cookies.get('csrftoken')

  return function post (url, options) {
  const defaults = {
    'method': 'POST',
    'credentials': 'include',
    'headers': {
      'X-CSRFToken': csrftoken,
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  }

  const merged = merge(options, defaults)
  return fetch(url, merged)
  }
}

export const post = setUpCsrfToken()
Run Code Online (Sandbox Code Playgroud)

这是我在React应用程序中使用的API方法:

export const signIn = data => {
  return post('/api/account/sign_in/', data)
} …
Run Code Online (Sandbox Code Playgroud)

django fetch reactjs redux fetch-api

5
推荐指数
1
解决办法
3012
查看次数

Django、React、Redux:提供图像

我正在为一个小项目使用 React/Redux 前端和 Django 后端。除了标准的 Django 服务器之外,我没有使用任何东西进行开发。我正在尝试将图像字段添加到现有的 UserProfile 模型中。目前,除了 Django 无法将我的图像正确地提供给主 React 站点或管理站点之外,我已经让一切正常工作。当我尝试导航到有问题的 url 或使用 Python requests 库直接请求媒体时,响应的类型为“text/html”。目前我的模型具有以下字段:

模型.py

class UserProfile(models.Model):
    ...
    ...
    profile_image = models.ImageField(upload_to='path_to_media')
Run Code Online (Sandbox Code Playgroud)

项目网址.py

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api/account/', include('account.urls')),
    url(r'^api/post/', include('post.urls')),
    url(r'.*', views.root, name='root')
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

设置.py

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static_cdn')
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'nattr'),
)
Run Code Online (Sandbox Code Playgroud)

账户地址.py

urlpatterns = (
    ...,
    url(r'^edit_profile/(?P<user_id>[^/]+)/$',
       views.edit_profile,
      name='edit_profile'),
)
Run Code Online (Sandbox Code Playgroud)

帐户视图.py

def edit_profile(request, user_id):
    try:
        user = User.objects.get(pk=user_id)
         form = UserProfileForm(request.POST, …
Run Code Online (Sandbox Code Playgroud)

django reactjs

5
推荐指数
1
解决办法
1237
查看次数

保护Django OAuth工具包视图的安全

我们希望在后端实现Django OAuth,以集成Alexa和其他第三方API。我们一直在他们网站上的教程(http://django-oauth-toolkit.readthedocs.io/en/latest/tutorial/tutorial.html)上进行学习,但到目前为止却遇到了一个安全问题,使我们无法逃脱:

是否存在任何用户都可以访问的安全问题https://<oursite.com>/o/applications?如果是这样,需要采取什么步骤来防止用户访问这些视图?

关于SO的唯一相关问题并不是特别有用:

在Django OAuth Toolkit中安全创建新应用程序

禁用或限制/ o / applications(django rest框架,oauth2)

python django oauth alexa django-oauth

4
推荐指数
2
解决办法
808
查看次数

标签 统计

django ×3

reactjs ×2

alexa ×1

django-oauth ×1

fetch ×1

fetch-api ×1

oauth ×1

python ×1

redux ×1