小编Pro*_*joe的帖子

Django - DRF (django-rest-framework-social-oauth2) 和 React 创建用户

我正在使用 DRF 和 ReactJS,我正在尝试使用 django-rest-framework-social-oauth2.

在 React 中,我向后端发送请求,auth/login/patreon/然后到达 Patreon OAuth 屏幕,在那里我说我想使用 PAtreon 登录。Patreon 然后返回一个请求到后端的accounts/profile。此时,python-social-oauth用户也已创建。

在这一点上我很困惑。如何向 Patreon 发出登录请求,在后端创建用户,并将会话信息返回给 React 前端,以便我可以在来自前端的所有后续请求中包含会话信息?我不希望返回的请求在后端/accounts/profile,是吗?

更新 我现在意识到我可以设置重定向 url,LOGIN_REDIRECT_URL但是,我现在如何检索会话 ID,将其传递给前端,并将其包含在所有请求中?

django django-rest-framework reactjs python-social-auth

8
推荐指数
1
解决办法
593
查看次数

如何使用Namecheap和Heroku强制HTTPS?

我正在使用Heroku和Namecheap设置SSL。

在Heroku上,我目前拥有以下域:

Domain Name - DNS Target
www.app.domain.io - www.app.domain.io.herokudns.com
www.domain.io - www.domain.io.herokudns.com
Run Code Online (Sandbox Code Playgroud)

在NameCheap上,我有:

Type - Host - Value
CNAME Record - app - www.app.domain.io.herokudns.com
CNAME Record - www- www.domain.io.herokudns.com
URL Redirect Record - @ - https://www.domain.io
CNAME Record - www - https://www.domain.io
Run Code Online (Sandbox Code Playgroud)

什么有效:

www.domain.io works fine and does not redirect to include https
domain.io just fails to reach a site
https://www.domain.io works great!
https://domain.io fails to reach a site.
http://www.app.domain.io/ fails to reach a site.
https://www.app.domain.io/ fails to reach …
Run Code Online (Sandbox Code Playgroud)

hosting ssl heroku namecheap

7
推荐指数
1
解决办法
2374
查看次数

类型错误:无法读取未定义的属性“getter”

我正在尝试测试一个引用 Vuex 商店的基本 Vue 组件。我以为我按照 Vue 的示例(https://vue-test-utils.vuejs.org/guides/using-with-vuex.html#mocking-getters)到了 T 但它似乎不起作用。

我收到标题中提到的错误。

const localVue = createLocalVue()
localVue.use(Vuex)

describe('Navbar.vue', () => {
  let store: any
  let getters: any

  beforeEach(() => {
    getters: {
      isLoggedIn: () => false
    }

    store = new Vuex.Store({
      getters
    })
  })

  it('renders props.title when passed', () => {
    const title = 'Smart Filing'
    const wrapper = shallowMount(Navbar, {
      propsData: { title },
      i18n,
      store,
      localVue,
      stubs: ['router-link']
    })

    expect(wrapper.text()).to.include(title)
  })
})
Run Code Online (Sandbox Code Playgroud)

我正在使用类组件,所以也许这与它有关?

@Component({
  props: {
    title: String …
Run Code Online (Sandbox Code Playgroud)

vue.js vuex vue-test-utils

6
推荐指数
1
解决办法
2万
查看次数

如何添加动态元标签到基于Django API的React应用程序

我有一个 React 前端和一个 Django (DRF) API。React 前端有一个类似 /content/:id 的路由,其中​​根据:id. 我想根据来自 Django 的请求的内容更改 index.html 元标记。

有很多关于如何使用express和React做到这一点的教程:http://www.kapwing.com/blog/how-to-add-dynamic-meta-tags-server-side-with-create-react-app/但我怎样才能用 Django 后端做到这一点呢?这些文件也存储在 AWS S3 上。

django amazon-s3 meta-tags reactjs server-side-rendering

6
推荐指数
0
解决办法
400
查看次数

Django - 当我更改网址时,CSS停止工作

所以我在我的网站上遇到了一个问题,然后我创建了两个单独的html页面.然后我编辑了urls.py,因此2页的网址会有所不同,但如果我这样做,css就会停止工作.我的代码如下,之后我会更详细地解释.

我头部的一部分

<!-- Bootstrap core CSS -->


<link href="../../static/textchange/index.css" rel="stylesheet">

<!-- Custom styles for this template -->
<link href="../../static/textchange/jumbotron.css" rel="stylesheet">

<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<script src="../../static/textchange/index.js"></script>
Run Code Online (Sandbox Code Playgroud)

我如何在每个html页面上包含头部

{% include "textchange/head.html" %}
Run Code Online (Sandbox Code Playgroud)

这两个网址造成了问题

url(r'^results/(?P<uisbn>(\w)+)/(?P<uuser>(\w)+)$', views.contactpost, name="contactpost"),
url(r'^results/(?P<uisbn>(\w)+)/(?P<uuser>(\w)+)$', views.contactwish, name="contactwish"),
Run Code Online (Sandbox Code Playgroud)

所以上面是我的网址设置目前的方式,我意识到这只会转到当前的联系信息.当我更改这样的网址时:

url(r'^results/(?P<uisbn>(\w)+)/post/(?P<uuser>(\w)+)$', views.contactpost, name="contactpost"),
url(r'^results/(?P<uisbn>(\w)+)/wish/(?P<uuser>(\w)+)$', views.contactwish, name="contactwish"),
Run Code Online (Sandbox Code Playgroud)

CSS停止为两个页面工作.

最初在我有2页之前,网址看起来像这样:

url(r'^results/(?P<uisbn>(\w)+)/(?P<uuser>(\w)+)$', views.contact, name="contact"),
Run Code Online (Sandbox Code Playgroud)

Views.py

@login_required
def contactpost(request, uuser, uisbn):
    ltextbook = Textbook.objects.filter(isbn = uisbn)
    text = ltextbook[0]
    luser = User.objects.filter(username …
Run Code Online (Sandbox Code Playgroud)

css python django url

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

Django - 关系“关系”不存在。无法运行 python manage.py migrate?

所以我很愚蠢,我去删除了我的 django 应用程序中的一个表,所以打开 psql 并运行“Drop table;” 并放下了桌子。然后我删除了我的模型并运行了“python manage.py migrate”,我收到了这个错误......

django.db.utils.ProgrammingError: relation "textchange_myuser" does not exist
Run Code Online (Sandbox Code Playgroud)

除了上面的其他东西。

所以现在我无法正确删除该表,也无法取回它。我该怎么办?

谢谢。

python django postgresql

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

Django - django-autocomplete-light 设置如何

我正在学习有关如何设置 django-autocomplete 字段的教程,但我正在努力使其正常工作。这是教程:https : //django-autocomplete-light.readthedocs.io/en/master/tutorial.html

设置已安装的应用程序

INSTALLED_APPS = (
    'dal',
    'dal_select2',
    'django.contrib.admin',
Run Code Online (Sandbox Code Playgroud)

项目网址.py

from textchange.views import TextbookAutoComplete


urlpatterns = [
    url(r'^textbook-autocomplete$', TextbookAutoComplete.as_view(), name='textbook-autocomplete'),
Run Code Online (Sandbox Code Playgroud)

HTML

<form method="POST"> {% csrf_token %}
        {% for field in form3 %}
          {{ field }}
        {% endfor %}
      <input id="search" class="button" type="submit" value="Search Textbooks" name="Search"></input>
      </form>
Run Code Online (Sandbox Code Playgroud)

表单.py

class Search(forms.ModelForm):
    longschool = forms.ModelChoiceField(
        queryset=Textbook.objects.all(),
        widget=autocomplete.ModelSelect2(url='textbook-autocomplete')
    )
    class_name = forms.ModelChoiceField(
        queryset=Textbook.objects.all(),
        widget=autocomplete.ModelSelect2(url='textbook-autocomplete')
    )
    isbn = forms.ModelChoiceField(
        queryset=Textbook.objects.all(),
        widget=autocomplete.ModelSelect2(url='textbook-autocomplete')
    )

    class Meta:
        model = Textbook
        fields = ('longschool', 'class_name', …
Run Code Online (Sandbox Code Playgroud)

python django jquery autocomplete

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

Django (DRF) &amp; React - Forbidden (CSRF cookie not set)

有几十个问题与我要问的问题基本相同。但是,他们的答案似乎都不适合我。

我有一个 React 前端,axios用于向后端发送请求。例子
const request = await axios.post('${BASE_URL}/logout/')

大多数 Django Rest Framework 端点都是使用 ViewSet 制作的。但是,我有一些是自定义的,主要用于身份验证。

path('createaccount/', views.create_account),
path('me/', views.current_user),
path('logout/', views.logout),
path('login/', views.login),
path('resetpassword', views.reset_password),
Run Code Online (Sandbox Code Playgroud)

对于这个项目的开发,我在@csrf_exempt上面包含了这些视图,因为我当时不想处理它。现在我即将部署,是时候弄清楚了。

一些答案说我需要从 Django 获取一个 CSRF 令牌,它存储在 cookie 中,我需要在每个请求的标头中传递它。有些答案说我需要做的就是像配置 axios

axios.defaults.xsrfHeaderName = "X-CSRFTOKEN";
axios.defaults.xsrfCookieName = "XCSRF-TOKEN";
Run Code Online (Sandbox Code Playgroud)

它会“正常工作”。我已经尝试将我的CSRF_COOKIE_NAME值调整为各种值以使其也起作用。

有些答案甚至说要保留,@csrf_exempt但这听起来是一个非常非常糟糕的主意。

我真的需要生成/获取 CSRF cookie 吗?我是否将其包含在每个请求中?还是只是axios的一个配置?

django csrf django-rest-framework reactjs axios

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

如何使用SCSS设置反应应用程序?(错误)

我正在尝试设置我的反应项目,所以我可以使用SCSS格式的SASS.

这是在我的webpack.config.dev.js中:

      {
        test: /\.scss$/,
        exclude: /node_modules/,
        use: [
          require.resolve('style-loader'),
          {
            loader: require.resolve('css-loader'),
            options: {
              importLoaders: 1,
            },
          },
          {
            loader: require.resolve('sass-loader'),
          }
        ]
      }
Run Code Online (Sandbox Code Playgroud)

我以两种不同的方式将scss文件导入我的jsx:

import './index.scss';
import css from './ModalWrapper.scss';
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我目前收到错误:

./src/index.scss
Module build failed: 
body {
^
      Invalid CSS after "m": expected 1 selector or at-rule, was "module.exports = __"
      in /pathtoapp/web/src/index.scss (line 1, column 1)
Run Code Online (Sandbox Code Playgroud)

看来我,那个,反应是试图将SCSS解释为应该起作用的CSS.另外,反应认为身体不是有效的CSS.在那里,我认为CSS或SCSS都没有正确加载.

任何帮助,将不胜感激.这个问题有很多未解决的问题.

sass reactjs node-sass webpack

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

倒数后如何删除Django对象?

在我正在使用的平台上,我们希望用户能够为其创建的对象设置到期时间。他们设置的倒计时到期后,应删除该对象。

您会如何建议这样做?

编辑:我应该澄清,到期时间将随每个对象而变化。

django django-models

2
推荐指数
1
解决办法
1152
查看次数

Django - 将代码转换为django查询?

所以我在我的一个模型上有这个django查询,我有一些额外的python代码,用于在每个查询之间进行额外的工作.我正在寻找一些帮助,将这块代码转换为单个django查询,因为我知道你应该让数据库完成大部分工作.

查询代码如下.

keywords = []
if query:
   results = []
   keywords = query.split()
   for x in keywords:
      res = Textbook.objects.filter(Q(class_name__icontains=x) |
                                    Q(textbook_name__icontains=x) |
                                    Q(author__icontains=x) |
                                    Q(isbn__icontains=x))
      if len(results) == 0:
         results = res
      else:
         results = set(results) & set(res)

numresults = len(results)
Run Code Online (Sandbox Code Playgroud)

因此查询是我从用户那里获取的信息.我将此信息拆分为关键字并对每个关键字进行查询.他们正在搜索教科书,因此如果他们输入的任何单词与书籍的isbn,title,class name或作者相匹配,则会将其添加到结果中.但是,如果他们使用多个单词,我只会将其添加到结果中,如果两个单词都将该书作为查询返回.这就是结果=设置(结果)和设置(res)的结果.如果当前结果和新查询返回同一本书,请将其保留在结果中.

我知道这很糟糕所以我正在寻找一种方法来改善它.

python django postgresql

0
推荐指数
1
解决办法
136
查看次数