因为在部署过程中会涉及用户邮件发送,如果有的同事不愿意收到太多邮件,则可以自己定义为不存在的邮箱。

我们在注册的时候,也不会写用户邮箱地址,那么他们也可以在这里自己更改。

changeemail.html模板

{% extends "index.html" %}
{% load staticfiles %}

{% block title %} 修改邮箱 {% endblock %}

{% block content %}
   <div class="tm-middle">
        <div class="uk-container uk-container-center">
            <h3 class="tm-article-subtitle uk-margin-top">
                修改邮箱
            </h3>
           <hr class="uk-grid-divider">

            <div class="uk-panel uk-panel-box uk-container-center uk-width-1-3">
                <h3 class="uk-panel-title"><i class="uk-icon-user"></i>修改邮箱</h3>

                    <div class="uk-grid">
                    <div >
                        当前邮箱:{{ user.email }}
                         {% if changeemail_success %}
                            <div class="uk-alert">邮箱更新成功!</div>
                        {% endif%}
                    <form class="uk-form uk-form-horizontal uk-margin-top" action="" method="post">
                        {% csrf_token %}

                        <div class="uk-form-row">
                            <div class="uk-form-label">
                                更改{{ form.email.label_tag }}
                            </div>
                            <div class="uk-form-control">
                                {{ form.email }}
                            </div>
                        </div>
                        <div class="uk-form-row">
                            <input type="submit" value="确认修改" class="uk-button uk-button-primary">
                        </div>
                    </form>
                    </div>
                </div>
            </div>

        </div>
   </div>
{% endblock %}

forms.py表单文件:

class UserEmailForm(forms.ModelForm):
    email = forms.EmailField(required=True)

    class Meta:
        model = User
        fields = ('email',)

views.py文件:

def changeemail(request):
    if request.POST:
        user_form = UserEmailForm(request.POST, instance=request.user)
        if user_form.is_valid():
            user_form.save()
            return render_to_response('changeemail.html', RequestContext(request, {'form': user_form, 'changeemail_success': True}))
    else:
        user_form = UserEmailForm()
        return render_to_response('changeemail.html', RequestContext(request, {'form': user_form, }))

最后,,就简单的弄出来了。

DJANGO里让用户自助修改邮箱地址的更多相关文章

  1. DJANGO里让用户自助修改密码

    参考了网上的实现,最终实现的各代码如下: changepwd.html模板文件: {% extends "Prism/index.html" %} {% load staticfi ...

  2. 在word文档里提取出所有的邮箱地址

    怎样在word文档里提取出所有的邮箱地址 文档内容太多,邮箱也有很多,一个个复制粘贴太浪费时间,怎样把这些邮箱简单的提取出来  答案:用查找功能. 查找目标:[A-z,0-9]{1,}\@[A-z,0 ...

  3. repo 修改邮箱地址

    需要重新运行 repo init 被带上参数: --config-name xx@a.com

  4. Django里自定义用户登陆及登陆后跳转到登陆前页面的实现

    def logout(request): request.session.flush() return HttpResponseRedirect(request.META.get('HTTP_REFE ...

  5. 如何在 Xamarin 中快速集成 Android 版认证服务 - 邮箱地址篇

    Xamarin 作为微软提供的移动服务多系统开发平台,成为很多开发者首选的应用开发平台.AppGallery Connect(以下简称 AGC)也在逐步的支持 Xamarin 的 SDK.认证服务也是 ...

  6. Google 宣布支持中文邮箱地址

    Gmail 宣布,即日起开始支持非拉丁字符邮箱地址.也就是说,我们可以在 Gmail 中针对中文邮箱地址发送和接收邮件了. 全世界母语是拉丁字母语言的人类不超过全人类总数的一半,母语是英语的人数更少. ...

  7. 30、Django实战第30天:修改邮箱和用户信息

    修改个人邮箱需要完成两个接口,一个是获取验证码,一个是新的邮箱和验证码是否匹配 1.编辑users.views.py class SendEmailCodeView(LoginRequiredMixi ...

  8. GIT 查看/修改用户名和邮箱地址

    用户名和邮箱地址的作用用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变.每次commit都会用用户名和邮箱纪录.github的contributions统计就是按邮箱来统计的.查看用户 ...

  9. Django实战(一)-----用户登录与注册系统7(邮件确认)

    通常而言,我们在用户注册成功,实际登陆之前,会发送一封电子邮件到对方的注册邮箱中,表示欢迎.进一步的还可能要求用户点击邮件中的链接,进行注册确认. 下面就让我们先看看如何在Django中发送邮件吧. ...

随机推荐

  1. C# 实现DataGridView分页功能

    C#实现DataGridView分页功能 2010-07-17 13:45:42|  分类: C#|字号 订阅     从界面可以看到,在设计时需要一个DataGridView.BindingNavi ...

  2. UESTC--1252--24点游戏(dfs)

     24点游戏 Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu Submit Status ...

  3. B1391 [Ceoi2008]order 最大权闭合图 最小割

    啊啊啊,假的题吧!!!我用的当前弧优化T了6个点,其他人不用优化AC!!!震惊!!!当前弧优化是假的吧!!! 到现在我也没调出来...大家帮我看看为啥70.... 来讲一下这个题的思路,就是设一个源点 ...

  4. Redis(四)-配置

    Redis 配置 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf. 你可以通过 CONFIG 命令查看或设置配置项. 语法 Redis CONFIG 命令格式如下: ...

  5. C - Football

    Problem description Petya loves football very much. One day, as he was watching a football match, he ...

  6. 5.27 sorm图

  7. css的选择器效率分析

    我们都知道,CSS具有叠加性(同一个元素被多条样式规则指定),继承性(后代元素会继承前辈元素的一些样式和属性)和优先级 (由于CSS的叠加性和继承性,将产生优先级,这指的是哪条样式规则会最终作用于指定 ...

  8. 修改Switch 的颜色

    1:效果图 2:布局 <Switch android:id="@+id/switch_bg" style="@style/switchStyle" and ...

  9. mysql Workbench新建数据库连接时提示SSl not enabled的问题

    在使用workbench时会弹出以下的对话框,不过这不影响使用,点击ok之后对话框关闭,接着直接点击close就行了,之后会显示已经连接上了数据库.具体ssl的方面还没研究,等研究了再贴

  10. java ---书写自己的名字

    public class hello { public static void main(String[] args) { // TODO 自动生成的方法存根 System.out.println(& ...