diff --git a/hiboo/account/settings.py b/hiboo/account/settings.py
index cf0a4275119a07c941c0c2eb05e1329f021fa85c..39fd0aaaaf266e43d1eb67b30b712f335b76f113 100644
--- a/hiboo/account/settings.py
+++ b/hiboo/account/settings.py
@@ -1,5 +1,6 @@
 from hiboo.account import blueprint, forms
 from hiboo import models, security
+from wtforms import fields
 from flask_babel import lazy_gettext as _
 
 import flask
@@ -30,7 +31,10 @@ def contact():
     user = flask_login.current_user
     form = forms.ContactForm()
     if form.validate_on_submit():
-        user.contact = form.data
+        user.contact = {
+            field.name: form.data[field.name] for field in form
+            if type(field) is fields.StringField
+        }
         models.db.session.add(user)
         models.db.session.commit()
         flask.flash(_("Successfully updated your contact info"), "success")
diff --git a/hiboo/user/templates/user_details.html b/hiboo/user/templates/user_details.html
index c0c97a09590b1a129645dab266347258c86b3f92..45d760b67034368c27c2df3ab2238f694007ccdd 100644
--- a/hiboo/user/templates/user_details.html
+++ b/hiboo/user/templates/user_details.html
@@ -17,6 +17,11 @@
 
           <dt>{% trans %}Created at{% endtrans %}</dt>
           <dd>{{ user.created_at }}</dd>
+
+          {% for name, value in user.contact.items() %}
+          <dt>{{ name | capitalize }}</dt>
+          <dd>{{ value }}</dd>
+          {% endfor %}
         </dl>
       </div>
       </div>