나는 필드에 대한 imdb_id 내 DB에 영화 :외부 링크가 필요한 텍스트 입력 용 양식 위젯!
class Movie(models.Model):
imdb_id = models.IntegerField('imdb ID', blank=True, null=True, unique=True)
def _get_imdb_url(self):
return self.imdb_id and 'http://www.imdb.com/title/tt%s/' % str(self.imdb_id).zfill(7) or ''
def _set_imdb_url(self, imdb_url):
self.imdb_id = int(re.compile(r'[^\d]').sub('', imdb_url))
imdb_url = property(_get_imdb_url, _set_imdb_url)
그리고 'imdb_id'필드에 대한 텍스트 입력 근처의 관리자 양식에서 imdb.com에 대한 외부 링크를 표시하기위한 특별한 위젯을 만들고 싶습니다. 내 생각에 특별한 마스크 (이 경우 마스크는 'http://www.imdb.com/title/tt%s/')를 사용하여 생성 된 외부 링크가있는 양식 필드의 전역 위젯이 될 수 있습니다. 위젯을 작성하는 방법을 알고 있지만, 내 영화 모델에 정의 된 마스크를이 위젯으로 어떻게 밀어 넣을지 모르겠습니다. 나는 DRY principe를 위반하고 두 곳의 다른 장소에서이 마스크를 정의하고 싶지 않습니다. 또한 앞으로 다른 외부 링크와 동일한 목적을위한 좋은 도구가 될 것입니다.
이 위젯에 대해 어떻게 생각하십니까? 그것을 어떻게 실현할 수 있습니까? 누군가 날 전에 그것을 썼을 수 있습니까?
고마워!