从管理员那里,我看到您可以为用户或用户组分配权限:允许添加、更改或删除模型中的数据。这很好,但我还需要允许用户或用户组访问或不访问一组View。我的网站上有某些类型的服务,因此我希望允许某些用户访问某些服务(页面/View),但不允许其他用户访问。那么如何允许某些用户/用户组访问某些View?谢谢! 最佳答案 无法添加或更改某个模型的用户将无法在管理员中看到它。如果我们谈论的是您自定义创建的View,那么您可以创建一些东西来检查用户的权限,如果他们没有该权限,则返回404。权限与模型相关联,可以为组分配各种权限。您可以像这样向模型添
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前。我刚刚开始将Django用于个人项目。使用内置管理应用程序与将我的管理功能集成到应用程序本身(通过检查request.user.is_staff)有什么优缺点?这是一个社区wiki,因为它可以被视为投票。 最佳答案 这真的取决于我猜的项目。虽然您可以在管理员中完成所有操作,但当您的应用程序变得更加
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭10年前。我刚刚开始将Django用于个人项目。使用内置管理应用程序与将我的管理功能集成到应用程序本身(通过检查request.user.is_staff)有什么优缺点?这是一个社区wiki,因为它可以被视为投票。 最佳答案 这真的取决于我猜的项目。虽然您可以在管理员中完成所有操作,但当您的应用程序变得更加
我已经构建了这个包含通用外键的模型:classMyModel(models.Model):content_type=models.ForeignKey(ContentType,verbose_name=_('contenttype'))object_id=models.PositiveIntegerField(_('objectid'))content_object=generic.GenericForeignKey('content_type','object_id')接下来我制作了一个通用的堆叠内联,以将其放入任何ModelAmin类中:classMyModelStackedInl
我已经构建了这个包含通用外键的模型:classMyModel(models.Model):content_type=models.ForeignKey(ContentType,verbose_name=_('contenttype'))object_id=models.PositiveIntegerField(_('objectid'))content_object=generic.GenericForeignKey('content_type','object_id')接下来我制作了一个通用的堆叠内联,以将其放入任何ModelAmin类中:classMyModelStackedInl
我看到很多使用Django应用程序上传图片的人在上传图片后会自动调整图片大小。在某些情况下这很好,但我不想这样做。相反,我只是想强制用户上传一个大小已经合适的文件。我想要一个ImageField强制用户上传100x200的图像。如果他们上传的图像不完全是那个大小,我希望管理表单返回无效。我也希望能够对纵横比做同样的事情。我想强制用户上传16:9的图片并拒绝任何不符合要求的上传。我已经知道如何获取图像的宽度和高度,但是在图像已经上传并且表单提交成功之前,我无法在服务器端执行该操作。如果可能的话,我怎样才能更早地检查呢? 最佳答案 执行
我看到很多使用Django应用程序上传图片的人在上传图片后会自动调整图片大小。在某些情况下这很好,但我不想这样做。相反,我只是想强制用户上传一个大小已经合适的文件。我想要一个ImageField强制用户上传100x200的图像。如果他们上传的图像不完全是那个大小,我希望管理表单返回无效。我也希望能够对纵横比做同样的事情。我想强制用户上传16:9的图片并拒绝任何不符合要求的上传。我已经知道如何获取图像的宽度和高度,但是在图像已经上传并且表单提交成功之前,我无法在服务器端执行该操作。如果可能的话,我怎样才能更早地检查呢? 最佳答案 执行
我已经使用django构建了一个webapp。为了托管它,我正在尝试使用openshift,但无法正常工作。似乎缺乏这方面的步骤。到目前为止,我的git工作正常,该应用程序可在本地开发环境中运行,并且我已成功在openshift上创建了一个应用程序。按照创建后的openshift上的URL,我只会看到“欢迎使用您的Openshift应用程序”的标准页面。我关注了这个https://developers.openshift.com/en/python-getting-started.html#step1尝试更改wsgi.py文件。将其更改为helloworld,推送它,但我仍然获得ope
我已经使用django构建了一个webapp。为了托管它,我正在尝试使用openshift,但无法正常工作。似乎缺乏这方面的步骤。到目前为止,我的git工作正常,该应用程序可在本地开发环境中运行,并且我已成功在openshift上创建了一个应用程序。按照创建后的openshift上的URL,我只会看到“欢迎使用您的Openshift应用程序”的标准页面。我关注了这个https://developers.openshift.com/en/python-getting-started.html#step1尝试更改wsgi.py文件。将其更改为helloworld,推送它,但我仍然获得ope
我有三个对象:ThingsomefieldsBucketthings=models.ManyToManyField(Thing)Userbuckets=models.ManyToManyField(Bucket)things=models.ManyToManyField(Thing)在管理员中编辑我的“存储桶”字段时,我希望能够选择事物,但只能选择当前登录用户的“事物”列表中的那些事物。我该怎么做?换句话说,如何过滤Bucketadmin中的Things列表?非常感谢您提前提供的帮助。 最佳答案 有一个formfield_for_m