在 Django 中,您可以轻松地使用 MinValueValidator 和 MaxValueValidator 来验证 IntergerFields。
它们在 ReactJS 中的对应物是什么?
我在前端有一个表单(用 ReactJS 构建),其中多个字段是 type=number 字段,并且数字需要适合特定范围的值,即大于 0,小于 250。
在后端,我实现了这种控制使用 Min/Max ValueValidator 覆盖数字输入。我应该在 ReactJS 前端做什么?
谢谢!
我之前使用的APIViews如下:
views.py
class AllProgramsApi(APIView):
def get(self, request):
user = self.request.user
userprograms = Program.objects.filter(user=user)
serializer = ProgramSerializer(userprograms, many=True)
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
这是我的模特:
class Program(models.Model):
program_name = models.CharField(max_length=50)
program_description = models.CharField(max_length=250)
cycles = models.ManyToManyField(Cycle)
is_favourite = models.BooleanField(default="False")
user = models.ForeignKey(User, on_delete=models.CASCADE)
def get_absolute_url(self):
return reverse('programs:program', kwargs={'pk': self.pk})
def __str__(self):
return self.program_name
Run Code Online (Sandbox Code Playgroud)
现在我发现了ModelViewSet,它看起来非常方便,但我似乎无法像以前在APIView中那样过滤用户.
我对使用ModelViewSet的views.py的尝试如下,它可以工作,但我得到的所有内容,而不仅仅是与单个用户相关的内容.
class AllProgramsApi(ModelViewSet):
serializer_class = ProgramSerializer
queryset = Program.objects.all()
Run Code Online (Sandbox Code Playgroud)
如何调整ModelViewSet,使其仅显示与发送请求的用户相关的内容?什么是最好的方法?
谢谢.
我在 React 中有一个可重用的组件,我可以将一些非常简单的 props 传递给:
const Section1 = (props) => (
<div className="section">
<div className="container is-narrow">
<div className="content is-medium"><h2 className="title is-1 is-bottom-bordered">{props.section1Title}</h2></div>
<div className="columns">
<div className="column is-half">
<div className="content">
<blockquote>{props.section1Blockquote}</blockquote>
</div>
</div>
<div className="column is-half">
<div className="content">
<p>{props.section1Text}</p>
</div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当我使用这个组件时,我会像这样传递道具:
<Section1
section1Title="Example title"
section1Blockquote="Example blockquote"
section1Text="Example text"
/>
Run Code Online (Sandbox Code Playgroud)
在我作为道具传递的字符串中,是否可以对部分文本进行样式设置,使其加粗?不是整个字符串,只是其中的一部分。在上面的例子中,section1Blockquote,我怎样才能把“例子”这个词加粗?
非常感谢。
我一直在对这个主题进行广泛的研究,但仍然没有找到合适的指南。我正在做的是为基于 Linux Embedded 的嵌入式系统创建一个 GUI,我想知道:
我对此很陌生,如果有经验丰富的人能指出我正确的方向,我将不胜感激。非常感谢。
我正在使用转换包来执行以下任务:
factory Brick.fromJson(Map<String, dynamic> json) {
return Brick(
title: json['title'],
expectedDuration: json['expected_duration'],
);
}
Future<Brick> createBrick(
String title, Duration expDur) async {
var url = 'https://api.com/bricks/';
final response = await http.post(
url,
headers: <String, String>{
"Content-Type": "application/json; charset=UTF-8",
},
body: convert.jsonEncode(<String, dynamic>{
"title": "$title",
"expected_duration": expDur,
}),
);
if (response.statusCode == 201) {
Brick newBrick = Brick.fromJson(convert.jsonDecode(response.body));
notifyListeners();
return newBrick;
} else {
throw Exception(
'${response.statusCode} ${response.reasonPhrase}');
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用 createBrick 函数时,出现以下错误:
未处理的异常:将对象转换为可编码对象失败:“持续时间”实例
我应该如何转换持续时间?Duration 类文档中没有提及它。
谢谢。
在我的小型 Django 项目中,用户可以注册并通过填写一些 ModelForms 来使用他们自己的数据填充现有模型。
问题是,登录后,任何用户不仅可以看到自己的数据,还可以看到其他用户创建的数据。我需要避免这种情况。
每个用户都应该能够查看、修改和与他们自己的数据进行交互。
每个模型都有一个ForeignKey链接到User.
我可能在视图中遗漏了什么吗?
它们只是不引用的基于类的视图User,它们只有LoginRequiredMixin装饰器。
对于登录视图,我使用的是 Django 标准,对于注册视图,我创建了一个UserFormView.
# Register page
url(r'^register/$', views.UserFormView.as_view(), name='register'),
# Login page
url(r'^accounts/login/$', auth_views.LoginView.as_view(), name='login'),
Run Code Online (Sandbox Code Playgroud)
以下是我的看法:
class AllProgramsView (LoginRequiredMixin, generic.ListView):
template_name = 'programs/index.html'
context_object_name = 'programs_list'
def get_queryset(self):
return Program.objects.all()
class ProgramDetailView (LoginRequiredMixin, generic.DetailView):
model = Program
template_name = 'programs/program.html'
class ProgramCreate(LoginRequiredMixin, CreateView):
model = Program
form_class = ProgramFormClass
class ProgramUpdate(LoginRequiredMixin, UpdateView):
model = Program
form_class = ProgramFormClass
Run Code Online (Sandbox Code Playgroud)
在models.py …
django ×2
python ×2
reactjs ×2
dart ×1
django-users ×1
django-views ×1
embedded ×1
flutter ×1
json ×1
react-props ×1
validation ×1