0
사용자는 자신의 여권 데이터를 사이트에 업로드해야합니다. 이 데이터는 비공개이므로 서버의 디렉토리 외부에 배치하면 더 좋을 것입니다. 여기 사용자 지정 미디어 링크가있는 ImageField (MEDIA_ROOT 아님)
는 모델 :passport_storage = FileSystemStorage(setting('ROOT_PATH'))
class Passport(models.Model):
user = models.OneToOneField(User)
scan = models.ImageField(verbose_name=u'Scan or photo', storage=passport_storage, upload_to='passport', blank=True)
def preview_scan(self):
return '<a href="%s"> <img src="%s%s/?thumb=1"></img> </a>' % (self.id, PASSPORT_URL, self.id)
preview_scan.allow_tags = True
내가 여권을 얻기를 위해보기 방법을 쓴, 또는 엄지 손가락 : /media/
에서 여권 모델 디스플레이 이전 경로에서
@login_required
def get_passport(request, **kwargs):
id = kwargs.pop('id', None)
user = request.user
passport = Passport.objects.filter(pk=id)
if user.username != 'admin': # говнокод
passport = passport.filter(user=user)
passport = passport[0]
scan = passport.scan
path = scan.path
sz = scan.size
if request.GET.get('thumb', None):
path = get_thumb(path)
sz = os.path.getsize(path)
filename = os.path.basename(path)
mt = mimetypes.guess_type(filename)[0]
wrapper = FileWrapper(file(path))
response = HttpResponse(wrapper, mimetype=mt)
response['Content-Disposition'] = 'attachment; filename=%s' % filename
response['Content-Length'] = sz
return response
그러나 ModelForm. 양식의 ImageField 링크는 어디에서 변경할 수 있습니까?
'# говнокод'는 완벽합니다 :) 대신 is_superuser'를 확인할 수 있습니까? – ilvar
아, 고마워, 난 항상 모든 것들이 이미 장고에 제공 잊지 :) –