小编Bab*_*abr的帖子

如何将一个猫鼬模式导入到另一个?

我正在制作一个节点应用程序来使用 json API,我想将User架构的各个部分分成单独的文件,因为其中有许多字段Profile并且分隔文件可以使事情更清晰:

所以基本上而不是

const userSchema = new Schema({
    username: { type: String, required: true },
    password: { type: String, required: true }, 
    profile: { 
      gender: {
       type: String,
       required: true
       },
      age: {
        type: Number
      },
      //many more profile fields come here

    }
});
Run Code Online (Sandbox Code Playgroud)

我这样做:

models/Profile.js 是:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const profileSchema = new Schema({
      gender: {
      type: String,
      required: true
      },
      age: {
        type: Number
      }
      //the rest of …
Run Code Online (Sandbox Code Playgroud)

mongoose node.js

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

不能对保存的表单使用 celery 延迟:对象不是 JSON 可序列化的

使用 Django 1.8,我想在视图中保存表单后触发延迟的 celery 函数

def new_topic(request, forum_id):
    form = TopicForm()
    uid = request.user.id
    if request.method == 'POST':
        tform = TopicForm(request.POST)
        if tform.is_valid():
            topic = tform.save(commit=False)
            topic.title = clean_title(tform.cleaned_data['title'])
            topic.description = clean_desc(tform.cleaned_data['description'])
            topic.save()
            notify_new_topic.delay( uid, topic) #<--problem here
            #rest of the views
Run Code Online (Sandbox Code Playgroud)

但我得到

EncodeError at /add/topic/
<Topic: Topic object> is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

如果我delay从 celery 任务中删除,我不会收到任何错误。

任务是:

@shared_task
def notify_new_topic(flwd_id, topic):
    title = topic.title
    link = topic.slug

    flwd= cached_user(flwd_id) #User.objects.get(id = flwd_id)
    print 'flwd is', flwd.username
    flwr_ids …
Run Code Online (Sandbox Code Playgroud)

django django-celery

8
推荐指数
2
解决办法
7116
查看次数

我应该如何在axios GET请求中发送JWT令牌?

我是Vue.js的新手,想在组件中向受限api请求:

  computed: {
    token () {
      return this.$store.getters.getToken; 
    },
   ...

created () {
         axios
        .get( this.BASE_URL + '/profile/me')
        .then( res => {
                    this.profile = res.data;
                    console.log('profile is:', res.data);

          })
          .catch(error => console.log(error))            
    },
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何将令牌包括在请求标头中。因此,毫不奇怪,我会得到401错误响应。

当我尝试

axios.defaults.headers.common['Authorization'] = this.token;
Run Code Online (Sandbox Code Playgroud)

在收到get请求之前,OPTIONS /profile/me而不是GET /profile/me在服务器日志中。

我该如何解决?

javascript express vue.js axios

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

Vue.js 如何在 v-for 循环中使用单选按钮

我正在尝试使用单选按钮,以便用户可以选择其中一张照片作为他们的个人资料照片:

<ul v-for="p in myPhotos">
  <li>
    <div>
      <div>
        <div>
          photo id: {{p.imgId}}
        </div>
        <input type="radio" v-model="profileImg" value="p.imgId"> Choose as profile image
      </div>
      <div><img v-bind:src="BASE_URL +'/uploads/' + userId + '/'+ p.imgId" /> </div>
    </div>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

值是这样的:

created () {
  axios.get(this.BASE_URL + '/profile/g/myphotos/', this.jwt)
  .then( res => {
    this.myPhotos = res.data.photos;
    this.showUploadedPhoto = true;
    this.profileImg = res.data.profileImg
  })
  .catch( error => {
    console.log(error);
  })
},
Run Code Online (Sandbox Code Playgroud)

选择照片后,该profileImg变量应设置为该照片的 imgId。

问题是如何让用户在这个 v-for 循环中只选择一张照片作为个人资料图片?

更新:myPhotos我正在迭代的对象的照片:

在此处输入图片说明

vue.js

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

如何实现 RTL bootstrap 4 导航栏?

我想制作我的引导导航栏 RTL。这是右侧的徽标,链接从右向左流动。我尝试了不同的技巧,但都没有奏效。这是我现在拥有的代码:

<nav class="navbar fixed-top navbar-expand-sm navbar-dark bg-dark float-right">

    <!-- Brand -->
    <a class="navbar-brand" href="#">Logo</a>

    <!-- Links -->
    <div class="collapse navbar-collapse" id="nav-content">
      <ul class="navbar-nav">
        <li class="nav-item">
          <a class="nav-link" href="#">Link 1</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link 2</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link 3</a>
        </li>
      </ul>
    </div>

</nav>
Run Code Online (Sandbox Code Playgroud)

如何修复此代码以实现 RTL 导航栏?

css navbar twitter-bootstrap bootstrap-4

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

如何在 vanilla Vue.js 中检查密码匹配?

我是 Vue.js 的新手,我想检查密码是否匹配。如果它们不匹配,则在用户离开确认字段后,Passwords don't match!应显示错误文本。我已经看到了一些涉及使用插件的解决方案,但我想知道使用纯 vue.js 的惯用方法是什么?

https://jsfiddle.net/Babrz/L2md63j7/3/

<div id="app">
          <form >
          <div class="form-group">            
            <input type="email" class="form-control" placeholder="Email">            
          </div>
          <br>
          <div class="form-group">
            <input type="password" class="form-control" v-model="password" placeholder="Password">
          </div> 
          <br>

         <div class="form-group">
            <input type="password" class="form-control" v-model="password2" placeholder="Confirm Passwrd">
          </div>
          <small v-if="showError">Passwords don't match!</small>
          <br>

          <div class="form-group">

            <input type="text" class="form-control" placeholder="Age">            
          </div>         

           <br>

          <button type="submit" class="btn login-btn">Register</button>
        </form>
</div>

new Vue({
  el: "#app",
  data: {
    email: '',
    password: '',
    password2: '',
    age: 0,
    showError: false    
  },
  methods: {
    toggle: function(todo){ …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js

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

如何自动将依赖包添加到 go.mod

我已经修改了一个现有的 github 项目,其中包含数十个 3rd 方导入包,但我保持基本结构不变,如下所示:

.
??? config
?   ??? config.json
?   ??? mysql.sql
??? gowebapp.go
??? LICENSE
??? README.md
??? static
??? template
?   ??? about
?   ?   ??? about.tmpl
?   ??? base.tmpl
??? vendor
    ??? app
        ??? controller
        ?   ??? about.go
        ?   ??? error.go
        ?   ??? index.go
        ?   ??? login.go
        ?   ??? notepad.go
        ?   ??? register.go
        ?   ??? static.go
        ??? model
        ?   ??? model.go
        ?   ??? note.go
        ?   ??? user.go
        ??? route
        ?   ??? middleware
        ? …
Run Code Online (Sandbox Code Playgroud)

go go-modules

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

json:无法将字符串解组为 []main.KVU 类型的 Go 值

我是 golang 新手,我想在我的代码中添加一个 json 对象:

func getUserRandking() []KVU {    
    url := "http://127.0.0.1:8080/users"

    spaceClient := http.Client{         Timeout: time.Second * 10, 
    }

    req, err := http.NewRequest(http.MethodGet, url, nil)
    if err != nil {
        log.Fatal(err)
    }

    req.Header.Set("User-Agent", "spacecount-tutorial")

    res, getErr := spaceClient.Do(req)
    if getErr != nil {
        log.Fatal(getErr)
    }

    body, readErr := ioutil.ReadAll(res.Body)
    if readErr != nil {
        log.Fatal(readErr)
    }

    var users1 []KVU
    jsonErr := json.Unmarshal(body, &users1)
    if jsonErr != nil {
        log.Fatal(jsonErr)
    }

    fmt.Println(users1)

    return users1

}
Run Code Online (Sandbox Code Playgroud)

但我收到这个运行时错误

json:无法将字符串解组为 []main.KVU 类型的 Go …

json struct go

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

如何在Vue.js中的选择框中设置默认值?

这可能很简单,但我无法在 Vue.js 模板中创建一个选择框以US默认显示(即在单击下拉菜单之前)

<select v-model="country">                                           
    <option selected="selected">US</option>
    <option>UK</option>
    <option>EU</option>
</select>
Run Code Online (Sandbox Code Playgroud)

问题是,无论我尝试什么,选择器在被单击之前都显示为空白。

我该如何修复它?

html vue.js

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

如何在node.js中获取base64字符串的字节长度?

我想计算作为 base64 编码字符串接收的图像文件的大小,例如:

'data:image/png;base64,aBdiVBORw0fKGgoAAA...'
Run Code Online (Sandbox Code Playgroud)

为了确保文件不大于特定大小,比如 5MB。

如何在 node.js 中实现这一点?

我在这里看到过类似的问题但无法在我的节点应用程序中应用答案:

SyntaxError: Unexpected token :
Run Code Online (Sandbox Code Playgroud)

node.js

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