首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django-配置文件:登录后如何显示概要文件?

django-配置文件:登录后如何显示概要文件?
EN

Stack Overflow用户
提问于 2014-03-01 06:48:59
回答 2查看 269关注 0票数 0

我对django和web开发非常陌生。我偶然看到django-profiles应用程序,所以我决定试一试。根据文档 for django配置文件,/profiles/<username> url将显示用户的配置文件。我无法理解的是如何将用户名从login.html发送到/profiles/<username>

这是我的login.html:

代码语言:javascript
复制
{% if not user.is_authenticated %}
<div id="content-main">

 <form method="post" action="/profiles/?username={{ user.username }}">{% csrf_token %}
  <div class="form-row">
    <label for="id_username">{% trans 'Username:' %}</label>
        <input type="text" name="username" id="id_username" />
  </div>
  <div class="form-row">
    <label for="id_password">{% trans 'Password:' %}</label>
        <input type="password" name="password" id="id_password" />
    <input type="hidden" name="this_is_the_login_form" value="1" />
  </div>
  <div class="submit-row">
    <input type="submit" value="{% trans 'Log in' %}" />
  </div>
</form>

<script type="text/javascript">
document.getElementById('id_username').focus()
</script>
</div>
{% endif %}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-01 10:40:55

您需要定义自己的登录视图,并根据其用户名在最后重定向用户:

代码语言:javascript
复制
def login(self, request):
    # check if login is correct and authenticate the user

    # redirect user
    return HttpResponseRedirect('/profiles/'+request.user.username)
    # OR better solution with reverse
    return HttpResponseRedirect(reverse('module.view_profile', args=(request.user.username,))) 

如果您使用的是默认登录视图(使用Django提供),并且只想重定向到“静态”URL (没有用户名),则只需使用重定向URL定义一个设置LOGIN_REDIRECT_URL,如果URL中没有next参数,则使用该URL。

代码语言:javascript
复制
LOGIN_REDIRECT_URL = '/my_profile/'
票数 1
EN

Stack Overflow用户

发布于 2014-03-01 07:20:04

只管用

代码语言:javascript
复制
HttpResponseRedirect('/profiles/'+request.user.username)

在成功登录的登录视图中,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22111161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档