我在Django中创建了一个ModelForm来注册新用户.它有4个领域(username,email,password和confirm_password).我想为密码添加一些验证.例如,如果密码短于8个字符或密码与用户名相似,则会引发错误消息.我怎样才能做到这一点?
这是我的forms.py文件:
from django.contrib.auth.models import User
from django import forms
class user_form(forms.ModelForm):
password = forms.CharField(widget = forms.PasswordInput)
confirm_password = forms.CharField(widget = forms.PasswordInput)
class Meta:
model = User
fields = ['username','email', 'password','confirm_password']
Run Code Online (Sandbox Code Playgroud)
我password已经包含以下验证器:
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimila??rityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValida??tor',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValid??ator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordVali??dator',
}
]
Run Code Online (Sandbox Code Playgroud)
它已经在settings.py中,但我的表单密码未经过验证
我正在创建一个用于云存储的网络应用程序,用户可以在其中创建文件夹和上传文件。我想为以下文件创建一个模型:
class upload(models.Model):
files = # array of files which I don't know how to create
title = models.CharField(max_length = 30)
user = models.ForeignKey(User,on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)
如果有人建议我如何执行此操作或告诉我任何其他有效的上传文件和使用文件的方法,我将不胜感激。
我正在调试VS Code中的c ++代码,但它不会在断点上停止并可视化变量,监视和调用堆栈,它本应该这样做.而不是这个,它在调试控制台中打印:
Breakpoint 1, 0x000000000040074a in main ()
[Inferior 1 (process 9445) exited normally]
The program '/home/hashir/x/a.out' has exited with code 0 (0x00000000)
Run Code Online (Sandbox Code Playgroud)
这是launch.json文件:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "/home/hashir/x/a.out",
"args": [],
"stopAtEntry": false,
"cwd": "/home/hashir/x/",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing …Run Code Online (Sandbox Code Playgroud) 我是一个新的Django用户,我刚刚在Django 1.11中为我的网站创建了一个注册和登录系统.当我去我网站的登录部分时,我很震惊.我得到的错误如上所述"login()缺少1个必需的位置参数:'user'"我无法弄清楚登录功能和变量'user'有什么问题.请帮助我.提前致谢.这是我的代码:
urls.py:
from django.conf.urls import url
from . import views
from django.contrib.auth import login
app_name='one'
urlpatterns = [
url(r'^games$',views.games,name='games'),
url(r'^others$',views.others,name='others'),
url(r'^about$',views.about,name='about'),
url(r'^upload$',views.UploadFile.as_view(),name='upload'),
url(r'^register$',views.UserFormView.as_view(),name='register'),
url(r'^login/$', login, name='login'),
]
Run Code Online (Sandbox Code Playgroud)
views.py:
from django.shortcuts import render,redirect
from django.contrib.auth import authenticate, login
from django.views.generic.edit import CreateView
from .models import file
from django.views.generic import View
from .forms import user_form
class UserFormView(View):
form_class = user_form
template_name = 'one/register_form.html'
def get (self,request):
form = self.form_class(None)
return render(request,self.template_name,{'form':form})
def post (self,request):
form = self.form_class(request.POST)
if form.is_valid():
user = …Run Code Online (Sandbox Code Playgroud)