views.py 文件源码

python
阅读 53 收藏 0 点赞 0 评论 0

项目:WikiLinks 作者: JakobGM 项目源码 文件源码
def studentpage(request, homepage):
    # NB! In the following view function, user and request.user is not necessarily
    # the same user. This should become more clear in the next refactoring
    try:
        # The homepage is given by the (Feide) username
        user = User.objects\
                .select_related('options', 'contributor')\
                .prefetch_related('options__self_chosen_courses__links')\
                .get(username=homepage)

    except User.DoesNotExist:
        raise Http404(_('Fant ingen studieprogram eller brukerside med navnet "%s"') % homepage)

    if request.user.is_authenticated \
            and isinstance(request.user, DataportenUser) \
            and request.user.username == homepage:
        # We ensure normalization between dataporten and the database,
        # since we have an authenticated dataporten user which tries to acces
        # his/her own homepage.
        reconcile_dataporten_data(request.user)
        user.refresh_from_db()

    # Save homepage in session for automatic redirect on next visit
    request.session['homepage'] = homepage

    return render(request, 'semesterpage/userpage-courses.html', {
           'semester': user.options,
           'courses': user.options.courses,
           'study_programs': StudyProgram.objects.filter(published=True),
           'calendar_name': get_calendar_name(request),
           'user': request.user,
           'header_text': f' / {user.username}',
           'student_page': True,
       }
    )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号