Django入门学习Day23:我的账户视图

2018-05-22  本文已影响28人  冰321

这部分将是我们最后的一个视图。之后,我们将专心来改进现有功能。

accounts/views.py

from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
from django.urls import reverse_lazy
from django.utils.decorators import method_decorator
from django.views.generic import UpdateView

@method_decorator(login_required, name='dispatch')
class UserUpdateView(UpdateView):
    model = User
    fields = ('first_name', 'last_name', 'email', )
    template_name = 'my_account.html'
    success_url = reverse_lazy('my_account')

    def get_object(self):
        return self.request.user

myproject/urls.py

from django.conf.urls import url
from accounts import views as accounts_views

urlpatterns = [
    # ...
    url(r'^settings/account/$', accounts_views.UserUpdateView.as_view(), name='my_account'),
]

templates/my_account.html

{% extends 'base.html' %}

{% block title %}我的账号{% endblock %}

{% block breadcrumb %}
  <li class="breadcrumb-item active">我的账号</li>
{% endblock %}

{% block content %}
  <div class="row">
    <div class="col-lg-6 col-md-8 col-sm-10">
      <form method="post" novalidate>
        {% csrf_token %}
        {% include 'includes/form.html' %}
        <button type="submit" class="btn btn-success">保存更改</button>
      </form>
    </div>
  </div>
{% endblock %}

原文:https://github.com/pythonzhichan/django-beginners-guide/blob/master/ClassBasedViews2.md

上一篇 下一篇

猜你喜欢

热点阅读