我一直在尝试开发一个类似于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) 我想创建一个用户可以更新其个人资料的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) 删除购物车商品后,我正在使用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) django ×2
python ×2
api ×1
django-views ×1
javascript ×1
python-3.x ×1
react-redux ×1
reactjs ×1
redux ×1