草庐IT

django-rules

全部标签

python - 为什么 Django 没有查看权限?

我有一个活跃的Django项目,客户支持团队使用该项目的管理面板。Django缺少view权限,因此我必须将更改权限分配给客户支持团队,这有点危险。我有一些模型,由于安全问题,客户支持团队只需要查看访问权限而不需要更改访问权限。为什么Django中缺少view权限?有什么解决方法吗? 最佳答案 这里有一个解决方法。模型通过从mixin继承它们来简单地创建具有View权限的模型:classViewPermissionsMixin(models.Model):"""Mixinaddsviewpermissiontomodel."""cl

python - 如何在 Django 中测试文件响应?

我有一个生成并返回CSV文件的API:defgetCSV():response=HttpResponse(content_type='text/csv')response['Content-Disposition']='attachment;filename=export.csv'writer=csv.writer(response,csv.excel)#...WritesomeCSVcontent...returnresponse当我从浏览器调用它时,它工作正常,但我不知道如何编写调用API的测试并检查CSV内容是否正确。如果我:c=Client()r=c.get('/my/expo

python - Django 年验证在 2017 年返回 "Ensure this value is less than or equal to 2016"

在我的数据库中,我有一个年份字段为2016的记录,但我需要将其更改为2017。当我使用Djangoadmin将其更改为2017时,我得到“确保此值小于或等于2016。”。我的模型有什么问题?classTrack(models.Model):artist=models.ForeignKey(Artist,blank=True,null=True,on_delete=models.SET_NULL,verbose_name="Artist")title=models.CharField(max_length=100,verbose_name="Title")year=models.Posi

python - PyCharm 正在更改我的 Django 应用程序中的默认编码

我遇到了plyplus出错的问题:File"/Users/FOO/.virtualenvs/ff/lib/python2.7/site-packages/plyplus/grammars/__init__.py",line6,inopenreturn_open(os.path.join(os.path.dirname(__file__),grammar_name))LookupError:unknownencoding:[06/Jan/201722:27:45]"GET/HTTP/1.0"500200257如果我添加importlocale;将'LOCALE:['+locale.get

python - 使用django发送http请求并获取结果

这似乎是一个非常简单和愚蠢的问题,但我找不到方便的答案。我正在尝试将谷歌的反向地理编码api与django一起使用,正如网站所解释的那样(在https://developers.google.com/maps/documentation/geocoding/start?csw=1#ReverseGeocoding)我应该向url发送请求:https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=但是我找不到使用django将此请求发送到googleapi的合适方法。对我来说,似乎一

python - Django 验证器函数的返回值存储在哪里?

在我的django应用程序中,这是我的validator.pyfromdjango.core.exceptionsimportValidationErrorfromdjango.core.validatorsimportURLValidatordefvalidate_url(value):url_validator=URLValidator()url_invalid=Falsetry:url_validator(value)except:url_invalid=Truetry:value="http://"+valueurl_validator(value)url_invalid=Fa

python - Django/Nginx - 提供超过一定大小的媒体文件时禁止错误 403

当用户上传图片时,它存储在项目目录下的media文件夹中。问题是,当他们想在网站上看到它时,nginx对于超过大约3Mb的图像返回403Forbidden错误。我将nginx.confclient_max_body_size设置为8Mhttp{###BasicSettings##client_max_body_size8M;...并且已经在settings.py中改变了内存大小:FILE_UPLOAD_MAX_MEMORY_SIZE=8388608当我上传3MB以下的图片时,没有问题,如果我上传超过3MB的图片,我可以在media文件夹中看到它,但会引发错误而不是提供图片:GEThtt

python - django 防止删除模型实例

我有一个models.Model子类,代表我的mysql数据库上的一个View(即managed=False)。但是,在运行我的单元测试时,我得到:DatabaseError:(1288,'Thetargettablemy_view_tableoftheDELETEisnotupdatable')此删除请求的来源是(间接地)通过外键。我有(简化):classMyViewModel(models.Model):problematic_field=models.ForeignKey(ActualTableModel)#specifyingon_delete=models.SET_NULLs

python - 理解 Django 的 urlconf

我试图理解这一行:url(r'^(?P\d+)/$',views.detail,name='detail'),来自Django'stutorial关于如何创建View。特别是,我不明白以下内容:?P\d+名字='细节'urls.pyurlpatterns=patterns('',#ex:/polls/url(r'^$',views.index,name='index'),#ex:/polls/5/url(r'^(?P\d+)/$',views.detail,name='detail'),#ex:/polls/5/results/url(r'^(?P\d+)/results/$',vie

python - 显示 ModelForms 的 Django 表单验证错误

我经常发现自己在View中使用ModelForm来显示和转换View。我在模板中显示表单没有问题。我的问题是,当我使用这些时,表单通常不会使用is_valid方法进行验证。问题是我不知道是什么导致了验证错误。这是View中的一个基本示例:defsubmitrawtext(request):ifrequest.method=="POST":form=SubmittedTextFileForm()ifform.is_valid():form.save()returnrender(request,'upload_comlete.html')returnrender(request,'fail