自 3 天以来,我一直试图找出基于 oAuth2 令牌的身份验证,但仍无济于事。我已经编写了一个用于用户身份验证的代码。但是,我收到一个错误
/api/customer/login/ 处的 ValueError 无法分配“{'username': 'sanskars'}”:“AccessToken.user”必须是“User”实例。
这可能是什么灵魂?为什么会出现以下错误?
视图.py
class UserLoginAPI(APIView):
permission_classes = [AllowAny]
serializer_class = UserLoginSerializer
def post(self, request, *args, **kwargs):
access_token = request.GET.get('access_token')
data = request.data
serializer = UserLoginSerializer(data=data)
if serializer.is_valid(raise_exception=True):
new_data = serializer.data
if new_data:
app = Application.objects.get(name="appname")
try:
print('trying to fetch old token if exists')
old_token = AccessToken.objects.get(user=new_data, appliction=app)
print('old_token',old_token)
except:
pass
else:
old_token.delete()
new_token = generate_token()
print('new_token',new_token)
AccessToken.objects.create(user=new_data, application=app, expires=datetime.now() + timedelta(days=365),token=new_token)
print('aceess',AccessToken)
return Response(new_data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)
序列化程序.py
class UserLoginSerializer(ModelSerializer): …Run Code Online (Sandbox Code Playgroud) 我正在使用 webpack2 并使用 express 对 hot loader3 做出反应。我收到一个错误
未捕获的语法错误:在 dist/index.html 中出现意外标记 <
这是我的配置文件
webpack.config.js
const isDevelopment = process.argv.indexOf('--development') !== -1;
const VENDOR_LIBS = [
'react', 'react-dom', 'redux', 'react-redux',
'react-router', 'react-router-redux', 'lodash',
'express',
];
const entryPath = path.join(__dirname, 'src/index.js');
const config = {
entry: {
bundle: isDevelopment ? [
'webpack-hot-middleware/client?reload=true',
'react-hot-loader/patch',
entryPath
] : entryPath,
vendor: VENDOR_LIBS
},
output: {
path: path.resolve(__dirname, 'dist'),
publicPath: '',
filename: isDevelopment ? '[name].js' : '[name].[chunkhash].js',
},
module: {
rules: [
{
loader: ExtractTextPlugin.extract({
loader: 'css-loader' …Run Code Online (Sandbox Code Playgroud) 我有一个使用react和redux开发的组件.现在我想使用重构,我不明白有组织的方式将它与redux一起使用.通过有组织的方式,我的意思是说以前我用过的有两个功能一样mapStateToProps,并mapDispatchToProps和它们被包裹在connect HOC这使得代码看起来更具可读性和清洁在我看来.我的问题是我如何做同样的方式,就像我为redux部分做的那样?我找不到这种方式,所以我不确定是否有办法,如果有人可以通过分享帮助我,好吗?
这是我的代码
import React from 'react';
import { connect } from 'react-redux';
const mapStateToProps = state => ({
loginData: state.loginData,
});
const mapDispatchToProps = dispatch => ({
login: user => dispatch(login(user)),
});
class Login extends React.Component<{ login: Function }> {
state = {
error: false,
user: {
email: '',
password: '',
},
};
handleChange = (e) => {
const { name, value } = e.target;
this.setState({ user: { ...this.state.user, [name]: value } }); …Run Code Online (Sandbox Code Playgroud) 我正在使用 React-dropzone 进行图像上传。一切正常。图像大小的验证也工作正常。但我无法检查图像的尺寸。我想验证图像的宽度和高度,以强制用户在指定的宽度和高度之间上传图像。我尝试过image.addEventListener('load'),但这不起作用。
这是我所做的
export const UploadField = ({ preview, label, uploadProps, ...props }) => {
const {
input: { onChange },
disabled
} = props;
const {
isDragActive,
getRootProps,
getInputProps,
isDragReject,
rejectedFiles
} = useDropzone({
onDrop: files => {
onChange(
files.map(file => {
const image = new Image();
image.addEventListener("load", () => {
console.log("image", image);
});
return Object.assign(file, {
preview: URL.createObjectURL(file)
});
})
);
},
...uploadProps
});
const isFileTooLarge =
rejectedFiles.length > 0 && rejectedFiles[0].size > uploadProps.maxSize;
const …Run Code Online (Sandbox Code Playgroud) 我有一个APIView类显示所有的租金和发布和删除等.现在我想要搜索功能,所以我试图使用DjangoFilterBackend但它不工作.我在文档中看到它已经与ListAPIView一起使用但是我如何在APIView中使用它.
class Rent(APIView):
"""
List all the rents if token is not provided else a token specific rent
"""
serializer_class = RentSerializer
filter_backends = (DjangoFilterBackend,)
filter_fields = ('city', 'place', 'property_category',)
search_fields = ('=city', '=place')
def get(self, request, token=None, format=None):
reply={}
try:
rents = Rental.objects.all()
if token:
rent = Rental.objects.get(token=token)
reply['data'] = self.serializer_class(rent).data
else:
reply['data'] = self.serializer_class(rents, many=True).data
except Rental.DoesNotExist:
return error.RequestedResourceNotFound().as_response()
except:
return error.UnknownError().as_response()
else:
return Response(reply, status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)
当我在网址中使用以下参数搜索租金时,我得到所有的租金,而我应该只获得位于加德满都市的租金并放置koteshwor
我正在学习 Coursera 的机器学习课程。有一个主题叫梯度下降来优化成本函数。它表示同时更新 theta0 和 theta1,从而最小化成本函数并达到全局最小值。
梯度下降的公式为
我如何使用 python 以编程方式执行此操作?我正在使用 numpy 数组和 pandas 从头开始逐步理解其逻辑。
现在我只计算了成本函数
# step 1 - collect our data
data = pd.read_csv("datasets.txt", header=None)
def compute_cost_function(x, y, theta):
'''
Taking in a numpy array x, y, theta and generate the cost function
'''
m = len(y)
# formula for prediction = theta0 + theta1.x
predictions = x.dot(theta)
# formula for square error = ((theta1.x + theta0) - y)**2
square_error = (predictions - y)**2
# sum of square error …Run Code Online (Sandbox Code Playgroud) python numpy machine-learning linear-regression gradient-descent
在查阅 django 的文档以收集详细知识时,我忍受了“表级操作”和“记录级操作”这两个词。它们之间有什么区别?谁能用例子向我解释这两个词?他们还有别的名字吗?
PS我并不是因为我觉得他们很相似而问他们的区别,但我觉得这样理解会更清楚。
我正在使用带有graphql的rest框架序列化程序。我正在尝试在用户注册时创建用户,并根据用户在创建帐户时选择的角色创建个人资料。为此,我添加了一个序列化器层,但是当我serializer.save在 mutate 函数中使用时,不会调用序列化器创建函数。为什么呢?
这是我的做法
class Register(graphene.Mutation):
"""
Mutation to register a user
"""
class Arguments:
email = graphene.String(required=True)
password = graphene.String(required=True)
password_repeat = graphene.String(required=True)
role = graphene.String(required=True)
success = graphene.Boolean()
errors = graphene.List(graphene.String)
email = graphene.String()
def mutate(self, info, email, password, password_repeat, role):
if password == password_repeat:
try:
serializer = RegistrationSerializer(data={
'email': email,
'password': password,
'is_active': False,
'role': role,
})
if serializer.is_valid():
print("valid")
user = serializer.save()
# user.set_password(password)
print ("user is ###########", user)
# user = UserModel.objects.create(
# …Run Code Online (Sandbox Code Playgroud) 我有一个内置于电子的基本桌面应用程序。我的桌面应用程序可以调整大小,但如果调整大小时宽度减小到 700 像素,则不应允许用户调整大小小于该宽度。我的意思是只有当宽度超过 700 像素时才可以调整大小。我尝试使用此方法,mainWindow.setMinimumSize(700, 700);但没有成功。
如何将调整大小限制为宽度小于 700 像素?