From 824b1c7f6ff44f9c2499c7c9940ec3479bc5a0ac Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 17 Aug 2016 22:17:16 +0800 Subject: [PATCH] update user update view --- apps/jumpserver/settings.py | 3 +- apps/jumpserver/urls.py | 7 +- apps/media/avatar/广宏伟蓝底.jpg | Bin 0 -> 100541 bytes apps/static/css/style.css | 3 +- apps/users/forms.py | 12 +- apps/users/models.py | 2 +- apps/users/templates/users/_user.html | 2 +- apps/users/templates/users/user_detail.html | 143 ++++++++++++------ apps/users/templates/users/user_edit.html | 2 +- .../{example_tags.py => __init__.py} | 0 apps/users/templatetags/users/example_tags.py | 0 apps/users/templatetags/users_tags.py | 38 +++++ apps/users/views.py | 20 ++- 13 files changed, 169 insertions(+), 63 deletions(-) create mode 100644 apps/media/avatar/广宏伟蓝底.jpg rename apps/users/templatetags/{example_tags.py => __init__.py} (100%) delete mode 100644 apps/users/templatetags/users/example_tags.py create mode 100644 apps/users/templatetags/users_tags.py diff --git a/apps/jumpserver/settings.py b/apps/jumpserver/settings.py index 069bd52bf..32ba50722 100644 --- a/apps/jumpserver/settings.py +++ b/apps/jumpserver/settings.py @@ -125,10 +125,11 @@ USE_TZ = True # https://docs.djangoproject.com/en/1.10/howto/static-files/ STATIC_URL = '/static/' +MEDIA_URL = '/media/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"), ) AUTH_USER_MODEL = 'users.User' BOOTSTRAP_COLUMN_COUNT = 11 -MEDIA_ROOT = os.path.join(BASE_DIR, 'img').replace('\\', '/') + '/' +MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/') + '/' diff --git a/apps/jumpserver/urls.py b/apps/jumpserver/urls.py index f86796eb8..89f7d9dd7 100644 --- a/apps/jumpserver/urls.py +++ b/apps/jumpserver/urls.py @@ -14,10 +14,15 @@ Including another URLconf 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import url, include -#from django.contrib import admin +from django.conf import settings +from django.conf.urls.static import static urlpatterns = [ url(r'^users/', include('users.urls')), url(r'^assets/', include('assets.urls')), # url(r'^admin/', admin.site.urls), ] + +if settings.DEBUG: + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + diff --git a/apps/media/avatar/广宏伟蓝底.jpg b/apps/media/avatar/广宏伟蓝底.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c2575921035d08b09d4745927d3f2da8dc121020 GIT binary patch literal 100541 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

I%grwuW&6POD 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

-
+ {% csrf_token %}

账户

{% block username %} {% endblock %} diff --git a/apps/users/templates/users/user_detail.html b/apps/users/templates/users/user_detail.html index ae59d61aa..cc8a32907 100644 --- a/apps/users/templates/users/user_detail.html +++ b/apps/users/templates/users/user_detail.html @@ -1,22 +1,25 @@ {% extends 'base.html' %} {% load common_tags %} +{% load users_tags %} {% load static %} -{% block content %} -
-
-
-
-{#
#} +{% block content %} +
+
+
+
+ {#
#}
-
+
- + + + + + + + + + - - - - - - + +
- + Active: +
+
+ + +
+
+
二次验证: +
+
+ + +
+
+
重置密码: + + +
姓名:{{ user.name }}
描述:{{ user.comment }}重置密钥: + + + +
@@ -150,16 +186,17 @@ - + - + - + @@ -172,6 +209,12 @@ - + {% endblock %} +{% block custom_footer_js %} + +{% endblock %} \ No newline at end of file diff --git a/apps/users/templates/users/user_edit.html b/apps/users/templates/users/user_edit.html index 3ee4be3d3..93344d346 100644 --- a/apps/users/templates/users/user_edit.html +++ b/apps/users/templates/users/user_edit.html @@ -3,7 +3,7 @@
- +
{% endblock %} diff --git a/apps/users/templatetags/example_tags.py b/apps/users/templatetags/__init__.py similarity index 100% rename from apps/users/templatetags/example_tags.py rename to apps/users/templatetags/__init__.py diff --git a/apps/users/templatetags/users/example_tags.py b/apps/users/templatetags/users/example_tags.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/users/templatetags/users_tags.py b/apps/users/templatetags/users_tags.py new file mode 100644 index 000000000..64451bd3e --- /dev/null +++ b/apps/users/templatetags/users_tags.py @@ -0,0 +1,38 @@ +# ~*~ coding: utf-8 ~*~ + +import urllib +import hashlib + +from django import template +from django.utils import timezone +from django.conf import settings +from django.conf.urls.static import static + + +register = template.Library() + + +@register.filter +def join_queryset_attr(queryset, attr, delimiter=', '): + return delimiter.join([getattr(obj, attr, '') for obj in queryset]) + + +@register.filter +def is_expired(datetime): + if datetime > timezone.now(): + return False + else: + return True + + +@register.filter +def user_avatar_url(user, size=64): + if user.avatar: + return user.avatar.url + gravatar_url = "https://www.gravatar.com/avatar/" \ + + hashlib.md5(user.email.lower()).hexdigest() + "?" + gravatar_url += urllib.urlencode({'d': 'identicon', 's': str(size)}) + return gravatar_url + + + diff --git a/apps/users/views.py b/apps/users/views.py index a0f27a3d3..1ff8474db 100644 --- a/apps/users/views.py +++ b/apps/users/views.py @@ -7,7 +7,7 @@ from django.views.generic.edit import CreateView, DeleteView, UpdateView from django.views.generic.detail import DetailView from .models import User, UserGroup, Role -from .forms import UserForm +from .forms import UserAddForm, UserUpdateForm class UserListView(ListView): @@ -33,7 +33,7 @@ class UserListView(ListView): class UserAddView(CreateView): model = User - form_class = UserForm + form_class = UserAddForm initial = {'role': Role.objects.get(name='User')} template_name = 'users/user_add.html' success_url = reverse_lazy('users:user-list') @@ -52,17 +52,27 @@ class UserAddView(CreateView): class UserUpdateView(UpdateView): model = User - form_class = UserForm + form_class = UserUpdateForm template_name = 'users/user_edit.html' + context_object_name = 'user' success_url = reverse_lazy('users:user-list') def form_valid(self, form): - user = form.save() + username = self.object.username + user = form.save(commit=False) + user.username = username + user.save() password = self.request.POST.get('password', '') if password: user.set_password(password) return super(UserUpdateView, self).form_valid(form) + def form_invalid(self, form): + print(self.request.FILES) + print(form['avatar'].value()) + print(form.errors) + return super(UserUpdateView, self).form_invalid(form) + class UserDeleteView(DeleteView): model = User @@ -70,7 +80,7 @@ class UserDeleteView(DeleteView): template_name = 'users/user_delete_confirm.html' -class UserDetailView(DeleteView): +class UserDetailView(DetailView): model = User template_name = 'users/user_detail.html' context_object_name = "user"
- + +
姓名:姓名: {{ user.name }}
描述:描述: {{ user.comment }}