웹 응용 프로그램을 구축 중이며 request.user가 영화를 만든 사용자와 일치하는지 확인하는 데 많은 복제가 있음을 발견했습니다. 영화는 사용자에게 FK를 가지므로 특정 영화를 만든 사용자 만 적절한 영화를 볼 수 있습니다. Django의 DRYing request.user 객체
@login_required
def edit_movie(request, slug, template_name="movies/edit_movie.html"):
movie = get_object_or_404(Movie, slug=slug)
if movie.user != request.user:
raise HttpResponseForbidden
# Rest of code omitted for brevity.
@login_required
def edit_screener(request, slug, template_name="movies/edit_screener.html"):
movie = get_object_or_404(Movie, slug=slug)
movie_media = movie.moviemedia_set.get(movie_type='screener')
if movie.user != request.user:
raise HttpResponseForbidden()
# Rest of code omitted for brevity.
@login_required
def dashboard(request, template_name='movies/dashboard.html'):
movies = Movie.objects.active().filter(
user=request.user).order_by('-created_at')
# Rest of code omitted for brevity.
나는 레일에 루비에서 강력한 배경을 가지고 있고 우리는 단순히 before_filter를 사용합니다 : find_user를을 컨트롤러는 중복을 피할 수 있도록. 이 종류의 중복을 처리하는 장고에서 가장 좋은 방법은 무엇입니까?
J
이 [질문] (http://stackoverflow.com/questions/6584512/is-there-before-filter-in-django-as-in-rails) 관련이있을 수 있습니다. – Dean