小编pri*_*pri的帖子

具有redux和反应的多重注册表

我一直在尝试开发一个类似于airbnb列表形式的仪表板表格,以便更深入地了解react redux,但我陷入了项目的中间.我有一个多表单,当用户点击"继续"按钮时,用户将获得另一个表单来填充,依此类推,如果用户点击后退按钮,用户将获得前一个填充值后退一步的表单.我无法决定我应该为此做些什么.我是否必须创建一个作为listingName的对象.摘要,名称,电子邮件等作为空值,并使用Object.assign()或什么来更新它与reducer.到目前为止,我只能在用户点击个人标签时显示与个人信息相关的表格,并且当用户点击基本标签时,会显示与基本信息相关的表格.我希望在最后一次提交时将所有表单数据发送到服务器.我现在应该怎么做 ?我是否对继续和后退按钮使用递增和递减操作,并在最后一个表单按钮上使用提交操作?能告诉我一个想法吗?

仪表板表格

这是我的代码

动作/ index.js

export function selectForm(form){
  return{
    type: 'FORM_SELECTED',
    payload: form
  };

}
Run Code Online (Sandbox Code Playgroud)

减速器/ reducer_active_form.js

export default function(state=null, action){
  let newState = Object.assign({},state);
  switch(action.type){
    case 'FORM_SELECTED':
      return action.payload;
  }
  return state;
}
Run Code Online (Sandbox Code Playgroud)

减速器/ reducer_form_option.js

export default function(){
  return[
    { option: 'Personal Information', id:1},
    { option: 'Basic Information', id:2 },
    { option: 'Description', id:3},
    { option: 'Location', id:4},
    { option: 'Amenities', id:5},
    { option: 'Gallery', id:6}
  ]
}
Run Code Online (Sandbox Code Playgroud)

容器/形状细节

class FormDetail extends Component{
  renderPersonalInfo(){
    return(
      <div className="personalInfo">
        <div …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux react-redux

7
推荐指数
2
解决办法
3008
查看次数

使用django rest framework api更新用户配置文件

我想创建一个用户可以更新其个人资料的API.在我的情况下,用户可以更新他/她的用户名和密码.要更改他/她的个人资料,API链接应该是/api/change/usernameOfThatUser.当我在链接中使用不存在的用户名时,我仍然会获得userProfileChange API页面,并且输入框未填充先前的数据.我怎么解决这个问题?

serializers.py

User = get_user_model()

class UserProfileChangeSerializer(ModelSerializer):
    username = CharField(required=False, allow_blank=True, initial="current username")
    class Meta:
        model = User
        fields = [
            'username',
            'password',
        ]

    def update(self, instance, validated_data):
        instance.username = validated_data.get('username',instance.username)
        print('instance of username',instance.username)
        return instance 
Run Code Online (Sandbox Code Playgroud)

views.py

class UserProfileChangeAPIView(UpdateAPIView):
    serializer_class = UserProfileChangeSerializer
    lookup_field = 'username'
Run Code Online (Sandbox Code Playgroud)

urls.py

  url(r'^change/(?P<username>[\w-]+)$', UserProfileChangeAPIView.as_view(), name='changeProfile'),
Run Code Online (Sandbox Code Playgroud)

python api django django-rest-framework

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

方法对象不是JSON可序列化的

删除购物车商品后,我正在使用ajax刷新购物车商品。如果我不使用图像响应对象,它将很好地工作,否则会出现错误method object is not JSON serializable。如果我使用model_to_dict图像部分,则会出现错误'function' object has no attribute '_meta'

这是代码

def cart_detail_api_view(request):
    cart_obj, new_obj = Cart.objects.new_or_get(request)
    products = [{
            "id": x.id,
            "url": x.get_absolute_url(),
            "name": x.name,
            "price": x.price,
            "image": x.first_image
            }
            for x in cart_obj.furnitures.all()]
    cart_data  = {"products": products, "subtotal": cart_obj.sub_total, "total": cart_obj.total}
    return JsonResponse(cart_data)

class Furniture(models.Model):
    name = models.CharField(max_length=100, blank=True, null=True)
    manufacturer = models.ForeignKey(Manufacturer, blank=True, null=True)
    slug = models.SlugField(max_length=200, unique=True)

    def __str__(self):
        return self.name

    def first_image(self):
        """
        Return first image of the …
Run Code Online (Sandbox Code Playgroud)

python django django-views python-3.x django-serializer

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