diff --git a/article/templatetags/__pycache__/timetonow.cpython-36.pyc b/article/templatetags/__pycache__/timetonow.cpython-36.pyc index 0a68eb1..72e21d1 100644 Binary files a/article/templatetags/__pycache__/timetonow.cpython-36.pyc and b/article/templatetags/__pycache__/timetonow.cpython-36.pyc differ diff --git a/article/templatetags/timetonow.py b/article/templatetags/timetonow.py index 3a9b93b..7dca174 100644 --- a/article/templatetags/timetonow.py +++ b/article/templatetags/timetonow.py @@ -16,12 +16,15 @@ def timetonow(value): s = delta.total_seconds() if s>86400: - return '%d天前' % (int(s/86400)) + if int(s%86400/3600) == 0: + return '%d天前' % (int(s/86400)) + else: + return '%d天%d小时前' % (int(s/86400),s%86400/3600) elif s>3600: - return '%d小时前' % (int(s/3600)) + return '%d小时前' % (int(s/3600)) elif s>120: - return '%d分钟前' % (int(s/60)) + return '%d分钟前' % (int(s/60)) else: - return '刚刚' + return '刚刚' timetonow.is_safe = True \ No newline at end of file diff --git a/db.sqlite3 b/db.sqlite3 index 72cf5e1..45d3532 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/userpage/__pycache__/models.cpython-36.pyc b/userpage/__pycache__/models.cpython-36.pyc index 456c375..ea64106 100644 Binary files a/userpage/__pycache__/models.cpython-36.pyc and b/userpage/__pycache__/models.cpython-36.pyc differ diff --git a/userpage/__pycache__/urls.cpython-36.pyc b/userpage/__pycache__/urls.cpython-36.pyc index 439136f..efe5a7b 100644 Binary files a/userpage/__pycache__/urls.cpython-36.pyc and b/userpage/__pycache__/urls.cpython-36.pyc differ diff --git a/userpage/__pycache__/views.cpython-36.pyc b/userpage/__pycache__/views.cpython-36.pyc index 1925ea8..4a0f0bb 100644 Binary files a/userpage/__pycache__/views.cpython-36.pyc and b/userpage/__pycache__/views.cpython-36.pyc differ diff --git a/userpage/migrations/0009_profile_telegram.py b/userpage/migrations/0009_profile_telegram.py new file mode 100644 index 0000000..f1e4bf0 --- /dev/null +++ b/userpage/migrations/0009_profile_telegram.py @@ -0,0 +1,18 @@ +# Generated by Django 2.0.2 on 2018-03-06 13:59 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('userpage', '0008_auto_20180305_1717'), + ] + + operations = [ + migrations.AddField( + model_name='profile', + name='telegram', + field=models.CharField(blank=True, max_length=128), + ), + ] diff --git a/userpage/migrations/__pycache__/0009_profile_telegram.cpython-36.pyc b/userpage/migrations/__pycache__/0009_profile_telegram.cpython-36.pyc new file mode 100644 index 0000000..a8369bf Binary files /dev/null and b/userpage/migrations/__pycache__/0009_profile_telegram.cpython-36.pyc differ diff --git a/userpage/models.py b/userpage/models.py index 3e98516..6af5aa4 100644 --- a/userpage/models.py +++ b/userpage/models.py @@ -22,6 +22,7 @@ class Profile(models.Model): instagram = models.CharField(max_length=128, blank=True) facebook = models.CharField(max_length=128, blank=True) twitter = models.CharField(max_length=128, blank=True) + telegram = models.CharField(max_length=128, blank=True) def __str__(self): @@ -48,6 +49,13 @@ class Meta: } widgets = { 'avatar':ClearableFileInput(attrs={'class':'form-control','placeholder':"头像"}), + 'mobile':TextInput(attrs={'class':'form-control'}), + 'weibo':TextInput(attrs={'class':'form-control'}), + 'wechat':TextInput(attrs={'class':'form-control'}), + 'facebook':TextInput(attrs={'class':'form-control'}), + 'twitter':TextInput(attrs={'class':'form-control'}), + 'instagram':TextInput(attrs={'class':'form-control'}), + 'telegram':TextInput(attrs={'class':'form-control'}), } diff --git a/userpage/templates/userpage/change.html b/userpage/templates/userpage/change.html new file mode 100644 index 0000000..8bfef3e --- /dev/null +++ b/userpage/templates/userpage/change.html @@ -0,0 +1,52 @@ +{% extends 'base.html' %} +{% load timetonow %} + +{% block header %} + 物志 › {{request.user}} + + +{% endblock %} + +{% block banner %} +
+

+
+{% endblock %} + +{% block content %} +
+
{% csrf_token %} + 物志 › 修改密码 +
+{{form.as_p}} +

+ +

+
+
+ + + + {% if messages %} + {% for m in messages %} + + {% endfor %} + {% endif %} + + + +{% endblock %} \ No newline at end of file diff --git a/userpage/templates/userpage/profile.html b/userpage/templates/userpage/profile.html index d108f70..803fec4 100644 --- a/userpage/templates/userpage/profile.html +++ b/userpage/templates/userpage/profile.html @@ -142,15 +142,35 @@
-

- {% for i in points %} -
-

{{i.record_time|timetonow}},{{i.get_event_display}},{{i.point_record}}

-
- {% endfor %} + + + + + + + {% for i in points %} + + + + + + {% endfor %} +
时间记录积分
{{i.record_time}}{{i.get_event_display}}{{i.point_record}}
+
-
{# 编辑资料 #}

@@ -163,6 +183,15 @@

{{ user_form.first_name}}

{{ user_form.last_name}}

{{ user_form.email}}

+

{{ profile_form.mobile}}

+

{{ profile_form.wechat}}

+

{{ profile_form.weibo}}

+

{{ profile_form.facebook}}

+

{{ profile_form.twitter}}

+

{{ profile_form.instagram}}

+

{{ profile_form.telegram}}

+ +

修改密码

diff --git a/userpage/urls.py b/userpage/urls.py index 3ae257b..2bb34aa 100644 --- a/userpage/urls.py +++ b/userpage/urls.py @@ -7,4 +7,5 @@ path('login/', views.userlogin, name='login'), path('logout/', views.userlogout, name='logout'), path('register/', views.register, name='register'), + path('change_password/', views.password_change, name='password_change'), ] diff --git a/userpage/views.py b/userpage/views.py index 5785c23..e952251 100644 --- a/userpage/views.py +++ b/userpage/views.py @@ -12,6 +12,8 @@ from django.contrib.auth import authenticate, login from django.contrib.auth import logout from django.contrib.auth.models import User +from django.contrib.auth.forms import PasswordChangeForm +from django.contrib.auth import update_session_auth_hash # Create your views here. @@ -147,4 +149,20 @@ def register(request): obj = forms.RegisterForm() return render(request,'userpage/register.html',{'form':obj,'referer':refer}) - +@login_required +def password_change(request): + if request.method == 'POST': + form = PasswordChangeForm(user=request.user, data=request.POST) + if form.is_valid(): + form.save() + update_session_auth_hash(request, form.user) + print(dir(form)) + messages.success(request,'密码修改成功!') + else: + messages.error(request,form.errors) + print(dir(messages)) + return redirect('.') + else: + form = PasswordChangeForm(user=request.user) + return render(request,'userpage/change.html',{'form':form}) + \ No newline at end of file