在Plone使用atreal.richfile.preview后,我们得到了一个PDF文件的预览的URL,如:http://localhost:8090/plone/sample.pdf/view.如果我们删除部分网址即"/ view",并http://localhost:8090/plone/sample.pdf在浏览器中输入网址:仍然可以查看,并且pdf变为可打印或可以复制.我如何修改网址,以便在修改相同的网址时不会在新窗口中显示pdf?使用plone 4.1.需要添加/编辑哪个模板和代码.请指导
我需要创建1个以上的管理员用户,该用户只能向他在django中创建的用户管理角色/权限。此管理员应该只能看到他创建的用户,而不能看到其他用户创建的用户。简而言之,我希望将django用作我的客户的SaaS模型,他只能在其中管理员工/用户,这有可能吗?如何实现呢?例如。管理员A可以为其公司A创建用户并为其设置角色,管理员B可以为其公司B创建用户并设置其角色。但是同时,管理员A应该不能看到由管理员B创建的用户,反之亦然。
我正在使用带有配置文件的 django User 模型来扩展具有更多属性的 User。我需要确保用户表中的用户具有唯一的电子邮件 ID。
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from django.contrib.auth.admin import UserAdmin
class UserForm(UserAdmin):
class Meta:
model = User
fields = "__all__"
readonly_fields = ('date_joined',)
def clean_email(self):
email = self.cleaned_data.get('email')
if email and User.objects.filter(email=email).exists():
raise forms.ValidationError(u'Email addresses must be unique.')
return email
Run Code Online (Sandbox Code Playgroud)
此验证消息不会显示在用户表单中。
自定义用户管理员定义为
class CustomUserAdmin(UserAdmin):
def save(UserForm, commit=True):
return super(UserForm, self).save(commit=False)
if User.objects.filter(email=email).exists():
raise forms.ValidationError(_("Email already exists ya"),
code='invalid')
inlines = (ProfileInline, )
admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)
Run Code Online (Sandbox Code Playgroud)
此验证消息在调试模式下的回溯中看到,而不是在用户窗体中。
要求消息在用户窗体中显示错误。我知道有两种形式即。django auth 中的 UserCreationForm、UserChangeForm。
使用 django 3.0、python 3.7
示例假设对于给定日期,当我们添加timedelta(days = 180)并获取新日期时,它是否考虑闰年并计算新日期?或者我们是否专门计算当前日期的闰年,2月是否有28/29天,并在python datetime.datetime对象中相应地获取新日期?