小编Mar*_*eca的帖子

使用 vuetify 2 v-file-input 和 axios 上传文件

首先,我检查了问题file-upload-in-vuetifyvuetify-file-uploads。但是那里的解决方案不起作用。

我正在尝试使用 vuetify 2<v-file-input>发送多个 PDF 文件。我创建了FormData对象并附加了我的所有文件,但是当我尝试提交时,它没有到达我的后端。我只是得到一个空对象。这是我的代码:

模板:

<v-layout>
    <v-flex>
      <v-file-input show-size counter chips multiple label="Arquivo Geral" ref="myfile" v-model="files"></v-file-input>
    </v-flex>
    <v-flex>
      <v-btn color="primary" text @click="submitFiles">test</v-btn>
    </v-flex>
</v-layout>
Run Code Online (Sandbox Code Playgroud)

脚本:

data() {
    return {
        files: null,
    }
}
methods: {
    submitFiles(){
        let formData = new FormData()

        if(this.files){

            for( let file in this.files){
                formData.append("cave", file)
            }

            console.log(formData.getAll("cave"))
            console.log(this.files)
            axios.post('https://eniwp6w65oc77.x.pipedream.net/', 
                        {
                            files: formData,
                            test: "test"
                        }, 
                        { 
                            headers: { 
                                'Content-Type': 'multipart/form-data'
                            } 
                        }).then( response => {
                            console.log('Success!') …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js axios vuetify.js

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

如何使用axios向img html标签发出视频流http GET请求?

我有一个Django 2.1后端,该后端具有一个视频流端点和一个Vue-Cli3作为我的前端。我后端的视频流端点是一个GET请求。为了使流式传输在我的客户端上工作,我需要做的就是添加:

<img :src="$store.state.domain + 'cameras/video/' + camera.properties.name + '/'" width="240" alt="Camera live Stream">
Run Code Online (Sandbox Code Playgroud)

这工作正常,但现在我只需要保护经过身份验证的用户的后端路由。为此,我只需要在请求标头中添加身份验证令牌。问题是,根据为<img />标签发出的请求设置自定义标头,img标签不接受标头参数。因此,现在我尝试使用axios库构建请求,然后将请求结果流式传输到我的HTML img标签。到目前为止,我的Vue方法代码:

  loadStream(){
    const vm = this
    let accessToken = vm.$store.getters.getAccessToken
    let streamURL = `${vm.$store.state.domain}/cameras/video/${vm.camera.properties.name}/`

    axios.get(streamURL, {headers: {"Authorization": `Bearer ${accessToken}`},
                          responseType: 'stream', 
                          adapter: httpAdapter}


    ).then( response =>{

      console.log(`success:${response.data}`)

      let imgTag = document.createElement('img')
      imgTag.src = URL.createObjectURL(response)
      imgTag.classList.add('video-modal', 'popup-video')
      imgTag.alt = `Camera ${camera.properties.name} liveStream`
      imgTag.setAttribute("crossorigin", '')
      let streamDiv = document.getElementById('livestream-img')
      streamDiv.appendChild(imgTag)

    }).catch( error => {
      console.log(`error:${response.data}`)

      let imgTag = document.createElement('img')
      imgTag.alt = `Camera …
Run Code Online (Sandbox Code Playgroud)

html5 stream django-rest-framework axios vue-cli-3

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

如何扩展 Flask-admin 模型编辑和创建模板?

根据flask-admin 文档,我可以通过创建文件templates/admin/index.html并扩展.flask-admin 来扩展主flask-admin 仪表板admin/master.html。HTML 看起来像这样:

{% extends 'admin/master.html' %}

{% block body %}
    <h1>HELLO</h1>
{% endblock body %}
Run Code Online (Sandbox Code Playgroud)

但我找不到任何有关如何扩展模型 CRUD 页面的信息:List、Edit 和 Create。我需要扩展“创建和编辑用户”页面,以便可以将 js 代码添加到表单模板中。

是否有一个模板可以像admin/master.html示例一样扩展?

python flask python-3.x flask-admin

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

@Vue/test-utilsshallowMount 为 vuetify 组件输出“[Vue 警告]:未知的自定义元素”

我在 Vue 中的单元测试不仅<v-col>为每个 vuetify 组件输出以下警告:

[Vue 警告]:未知的自定义元素:<v-col> - 您是否正确注册了组件?对于递归组件,请确保提供“名称”选项。

我创建了一个localVue并添加了Vuetify,但这似乎不起作用。这是我的测试用例:

import { shallowMount, createLocalVue } from '@vue/test-utils'
import expect from 'expect'
import ProjetoShow from '../../views/Projeto/ProjetoShow.vue'
import Vuetify from 'vuetify'

describe('ProjetoShow component', () => {
    let wrapper
    let localVue
    beforeEach(() => {
        localVue = createLocalVue()
        localVue.use(Vuetify)
    })

    it('renders correctly', ()=> {
        let vuetify = new Vuetify()
        wrapper = shallowMount(ProjetoShow, {localVue, vuetify})
        expect(wrapper.find('h2').text()).toContain('PROJETO')
    })

})
Run Code Online (Sandbox Code Playgroud)

我的包版本在 package.json

"devDependencies": {
    "@vue/test-utils": "^1.0.0-beta.31",
    "axios": "^0.19.0",
    "cross-env": "^5.1",
    "expect": …
Run Code Online (Sandbox Code Playgroud)

mocha.js vue.js vuetify.js vue-test-utils

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

Django无法在Ubuntu上加载SpatiaLite库扩展mod_spatialite

我正在尝试使用spacespaceite运行sqlite3,但是当我运行时

 $ python manage.py makemigrations
Run Code Online (Sandbox Code Playgroud)

即时通讯收到错误:

django.core.exceptions.ImproperlyConfigured:无法加载SpatiaLite库扩展名“ mod_spatialite”,因为:mod_spatialite.so:无法打开共享对象文件:无此类文件或目录

我正在使用

  • Ubuntu 16.04 Xenial
  • Django 1.11
  • Python 3.5.2

并已安装软件包:

  • 空间站
  • 空间专家
  • spatialite-gui-dbg
  • python-pyspatialite

我也尝试添加,SPATIALITE_LIBRARY_PATH = 'mod_spatialite'但仍然没有用。

我完整的回溯:

    Traceback (most recent call last):
  File "/home/marcelo/.virtualenvs/smart-eye-agora-vai/lib/python3.5/site-packages/django/contrib/gis/db/backends/spatialite/base.py", line 60, in get_new_connection
    cur.execute("SELECT load_extension(%s)", (self.spatialite_lib,))
  File "/home/marcelo/.virtualenvs/smart-eye-agora-vai/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 328, in execute
    return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: mod_spatialite.so: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line …
Run Code Online (Sandbox Code Playgroud)

sqlite django spatialite python-3.x ubuntu-16.04

3
推荐指数
1
解决办法
963
查看次数

如何将 vuelidate 与 vuetify 2 结合使用来获取嵌套数据?获取无效字段

我正在尝试将 vuelidate 与 Vuetify 2 一起使用,但在尝试验证嵌套对象值时遇到了麻烦。

这段代码工作正常:

    <template>
        <v-text-field
        v-model="no_nome"
        :error-messages="nameErrors"
        label="Nome"
        @input="$v.no_nome.$touch()"
        @blur="$v.no_nome.$touch()"
        >
        </v-text-field>
    </template>

    <script>

     import { required } from 'vuelidate/lib/validators'
     export default {

        data() {
            return {
                no_nome:'',
            }
        },
        validations: {
            no_nome: {
                required
            },
        },
        computed: {
            nameErrors () {
                const errors = []
                if (!this.$v.no_nome.$dirty)
                    return errors
                !this.$v.no_nome.required && errors.push('Name is required.')
                return errors
            },
        }
     }
   </scrip>
Run Code Online (Sandbox Code Playgroud)

但如果我将no_nome数据更改为:

        data() {
            return {
                user : {
                   no_nome:'',
                }
            }
        },
Run Code Online (Sandbox Code Playgroud)

和 …

vue.js vuetify.js vuelidate

3
推荐指数
1
解决办法
4351
查看次数

@vue/test-utils 未知自定义元素:&lt;router-view&gt;

我已经添加了问题Vue-Test-Utils Unknown custom element: 中的解决方案,但它不起作用。

当我尝试在我的单元测试规范中运行shallowMount 时遇到问题:

[Vue 警告]:未知的自定义元素:-您是否正确注册了组件?对于递归组件,请确保提供“名称”选项。

这是我的规格:

import { shallowMount, createLocalVue, RouterLinkStub } from '@vue/test-utils';
import VueRouter from 'vue-router';
import Vuetify from 'vuetify';
import expect from 'expect';
import Home from '../../pages/Home.vue';

describe('Home.vue', () => {
    // let wrapper;
    let localVue;
    beforeEach(() => {
        // wrapper = shallowMount(Home);
        localVue = createLocalVue();
        localVue.use(Vuetify)
        localVue.use(VueRouter)
    });

    it('renders the Home page component', () => {
        debugger;
        let wrapper = shallowMount(Home, { localVue, stubs: { RouterLink: RouterLinkStub } });
        expect(wrapper.html()).toContain('<h2>Bem-vindo …
Run Code Online (Sandbox Code Playgroud)

mocha.js vue.js vue-router vue-test-utils

3
推荐指数
1
解决办法
945
查看次数

如何使用 tronweb 获取 tronlink 中当前的活跃帐户?

我正在尝试访问当前登录的 tronlink 帐户,以便使用 tronlink 为我的 dapp 进行身份验证。使用metamask和web3我可以使用以下方法获取MetaMask上当前的活动帐户:

const userPublicAddress = web3.eth.coinbase
Run Code Online (Sandbox Code Playgroud)

tronweb 和 tronlink 的类似方法是什么?我在文档中没有发现这一点。

javascript truffle metamask tronweb

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

Laravel - 如何在 phpunit 测试中设置伪造语言环境?

我可以将faker应用程序中的语言环境更改config/app.phppt_BR更改,'faker_locale' => 'pt_BR',并且它在我的工厂中运行良好,但在我的测试用例中运行良好。这就是我在我的测试中导入 faker 的方式:

namespace Tests\Unit;

use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
use App\Models\Proprietario;

class ProprietarioTest extends TestCase
{
    use WithFaker, RefreshDatabase;


    public function testStore(){


        $attributes = [
            'name' => $this->faker->name,
            'email' => $this->faker->email,
            'address' => $this->faker->city,
            'phone' => $this->faker->cellPhoneNumber,
            'municipio' => $this->faker->randomDigit,
        ];
        $response = $this->post('/api/v1/proprietario', $attributes);

        $response->assertStatus(201);
        $createdArea = Proprietario::latest();
        $this->assertDatabaseHas('proprietarios', $attributes);
    }
Run Code Online (Sandbox Code Playgroud)

测试将失败,$this->faker->cellPhoneNumber因为它在默认语言环境中不可用。我正在使用 Laravel 5.8 和 PHP 7.2

phpunit faker laravel

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