Skip to content

Commit

Permalink
update member page
Browse files Browse the repository at this point in the history
  • Loading branch information
gothack329 committed Feb 28, 2018
1 parent 2d446a1 commit 257fda1
Show file tree
Hide file tree
Showing 15 changed files with 164 additions and 57 deletions.
Binary file modified article/__pycache__/models.cpython-36.pyc
Binary file not shown.
1 change: 1 addition & 0 deletions article/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class Article(models.Model):
tag = models.CharField(max_length=128, blank=True, null=True)
visible = models.CharField(choices=(('Y','是'),('N','否')),max_length=64,default='N')
readtime = models.IntegerField(default=0)
#comment_count = models.IntegerField(default=0)

#def set_tags(self, tags):
# Tag.objects.update_tags(self, tags)
Expand Down
4 changes: 2 additions & 2 deletions article/templates/article/detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ <h1>{% if art %}{{art.title}}{% endif %} </h1>

{% block content %}
<div class="card margintop article-content">
<span class="fad">作者:<a href="#"><img src="/{{art.author_id.avatar}}" class="avatar-img">&nbsp;{{art.author}}</a> </span>
<span class="fad">作者:<a href="/userpage/member/{{art.author_id}}/"><img src="/{{art.author_id.avatar}}" class="avatar-img">&nbsp;{{art.author}}</a> </span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class="fad">阅读数:{{art.readtime}}</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Expand All @@ -58,7 +58,7 @@ <h1>{% if art %}{{art.title}}{% endif %} </h1>
{% for i in comments %}
<div class="comment row">
<div class="comment-avatar" style="background:url(/{{i.user.avatar}}) no-repeat;background-position:10px 20px;background-size:60px 60px;">
{{i.user}}
<a href="/userpage/member/{{i.user}}/">{{i.user}}</a>
</div>
<div class="comment-info">

Expand Down
Binary file modified db.sqlite3
Binary file not shown.
Binary file modified edconline/__pycache__/globalarg.cpython-36.pyc
Binary file not shown.
11 changes: 7 additions & 4 deletions edconline/globalarg.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@


def settings(request):
if request.user.is_authenticated :
userid = request.user.id
user =Profile.objects.get(user=userid)
secs = Section.objects.all()
return {'secs':secs,'user':user}
if request.user.is_authenticated:
userid = request.user.id
user =Profile.objects.get(user=userid)

return {'secs':secs,'user':user}
else:
return {'secs':secs}
17 changes: 12 additions & 5 deletions static/bootstrap/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ html,body {
height: 100%;
}

a,a:hover {
text-decoration:none;
color:#5555aa;

}

img{
width: auto;
height: auto;
Expand Down Expand Up @@ -89,12 +95,10 @@ div.container-fluid {

.card .preview div {
display: block;
padding:0 20px 0 20px;
padding:0 20px 10px 20px;
}

.card a {
color:#d73a49;
}


.card p {
padding:0 10px 0 10px;
Expand Down Expand Up @@ -185,7 +189,10 @@ span.floor {
padding-right:20px;
}


.btn-sidebar {
display:block;
margin:auto;
}



Expand Down
29 changes: 18 additions & 11 deletions templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,7 @@
<a class="logo" href='/'>物志</a>
</li>
<li class="navbar-right">
{% if request.user %}
<a href="#">{{request.user.username}}</a>
{% else%}
<a href="#">登录</a>
{% endif %}

</li>

</ul>
Expand Down Expand Up @@ -71,33 +67,44 @@ <h1>{% if title %}{{title}}{% endif %} </h1>
{% block sidebar %}

<div class="card">
{% ifnotequal user.id None %}
<div class="usercard row">

<div class="usercard-avatar" style="background:url(/{{user.avatar}}) no-repeat;background-size:80px 80px;">
</div>
<div class="usercard-info">
<p>
<span class="glyphicon glyphicon-user fad"> </span>&nbsp;<span class="fad">
<a href="/userpage/member/{{user.user}}/"><span class="glyphicon glyphicon-user fad"> </span>&nbsp;<span class="fad">
{{user.user}}
</span>
</span> </a>
</p>
<p>
<img src="/static/image/coin16.png" style="display:inline-block;padding-bottom: 4px" alt="金币" > <span class="fad">
{{user.point}}
</span> &nbsp;&nbsp;&nbsp;
{% ifnotequal user.msg 0 %}
<span class="glyphicon glyphicon-bell fad" alt="未读提醒" style="color:gold"> </span>&nbsp;<span class="fad" alt="未读提醒">
<span class="glyphicon glyphicon-bell fad" alt="未读提醒" style="color:gold"> </span>&nbsp;<span class="fad" alt="未读提醒">
{% else %}
<span class="glyphicon glyphicon-bell fad" alt="未读提醒" style="color:gold"> </span>&nbsp;<span class="fad" alt="未读提醒">
<span class="glyphicon glyphicon-bell fad" alt="未读提醒" > </span>&nbsp;<span class="fad" alt="未读提醒">
{% endifnotequal %}

{{user.msg}}
</span> &nbsp;&nbsp;&nbsp;
</p>
</div>
</div>
</div>
<button class="btn btn-default" style="width:100%;margin-top: 10px" type="submit" onclick="window.location.href='/article/publish'">
<button class="btn btn-default" style="width:100%;margin-top: 10px" type="submit" onclick="window.location.href='/article/publish/'">
<span class="glyphicon glyphicon-pencil"></span>&nbsp; 发布新文章
</button>
{% else %}
<button class="btn btn-info btn-sidebar" style="width:70%;margin-top: 10px" type="submit" onclick="window.location.href='/userpage/login/'">
登录
</button>
<button class="btn btn-info btn-sidebar" style="width:70%;margin-top: 10px" type="submit" onclick="window.location.href='/userpage/register/'">
注册
</button>

{% endifnotequal %}
</div>

<div class="card">
Expand Down
10 changes: 7 additions & 3 deletions templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,16 @@ <h1>{% if title %}{{title}}{% endif %} </h1>
<p></p>
</div>
<div class="preview-info">
<h2>{{i.title}}</h2>
<p class="fad">{{i.detail|striptags|truncatechars:140|safe}} </p>
<a href="/article/{{i.id}}/"><h2>{{i.title}}</h2></a>
<p class="fad">{{i.detail|striptags|truncatechars:500|safe}} </p>
<p></p>
<span class="glyphicon glyphicon-time fad"> </span>&nbsp;<span class="fad">{{i.publish_time}}</span>
&nbsp;&nbsp;&nbsp;
<span class="glyphicon glyphicon-user fad"> </span>&nbsp;<span class="fad">{{i.author}}</span>
<a href="/userpage/member/{{i.author_id}}/"><span class="glyphicon glyphicon-user fad"> </span>&nbsp;<span class="fad">{{i.author}}</span></a>
&nbsp;&nbsp;&nbsp;
<span class="glyphicon glyphicon-th-list fad"> </span>&nbsp;<a href="/?catalog={{i.section}}"><span class="fad">{{i.section}}</span></a>
&nbsp;&nbsp;&nbsp;
<span class="glyphicon glyphicon-tag fad"> </span>&nbsp;<span class=" fad">{{i.tag}}</span>
<span class="pull-right">
<span><a href="/article/{{i.id}}/">阅读全文</a></span>
</span>
Expand Down
Binary file modified userpage/__pycache__/urls.cpython-36.pyc
Binary file not shown.
Binary file modified userpage/__pycache__/views.cpython-36.pyc
Binary file not shown.
100 changes: 71 additions & 29 deletions userpage/templates/userpage/profile.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,80 @@
<title>[ {{request.user}} ]用户详情 - 物志</title>
{% endblock %}


{% block banner %}
<div style="height:30px">
<p></p>
</div>
{% endblock %}
{% block content%}
<div class="card">
<div class="usercard row">

<div class="usercard-avatar" style="background:url(/{{member.profile.avatar}}) no-repeat;background-size:80px 80px;">
</div>
<div class="usercard-info">
<p>
<span class="glyphicon glyphicon-user fad"> </span>&nbsp;<span class="fad">
{{member.username}}
</span>
</p>
<p>
<img src="/static/image/coin16.png" style="display:inline-block;padding-bottom: 4px" alt="金币" > <span class="fad">
{{member.profile.point}}
</span> &nbsp;&nbsp;&nbsp;
{% ifequal member.id user.id %}
{% ifnotequal user.msg 0 %}
<span class="glyphicon glyphicon-bell fad" alt="未读提醒" style="color:gold"> </span>&nbsp;<span class="fad" alt="未读提醒">
{% else %}
<span class="glyphicon glyphicon-bell fad" alt="未读提醒" > </span>&nbsp;<span class="fad" alt="未读提醒">
{% endifnotequal %}
{{user.msg}}
</span> &nbsp;&nbsp;&nbsp;
{% endifequal %}
</p>
<p> 本站第 {{member.id}} 位会员,于 {{member.date_joined}} 注册,最近一次登录于 {{member.last_login}}.
</div>
</div>
</div>

{% if user_form.errors %}
{% for field in user_form %}
{% for error in field.errors %}
<script type="text/javascript">
$.notify({
// options
message: '{{ error|escape }}',
},{
// settings
type: 'warning',
delay: 5000,
timer: 1000,
animate: {
enter: 'animated flipInY',
exit: 'animated flipOutX'
},
},);
</script>
{% endfor %}
{% endfor %}
{% endif %}
<div class="card">
<ul class="nav nav-tabs">
<li role="presentation" class="active"><a href="/article/{{member.username}}/" target="subpage">文章列表<span class="badge">{{arts|length}}</span></a></li>
<li role="presentation"><a href="/article/comment/{{member.username}}/" target="subpage">评论列表<span class="badge">{{comments|length}}</span></a></li>
{% ifequal member.id user.id %}
<li role="presentation"><a href="/userpage/update/" taget="subpage">编辑资料</a></li>
{% endifequal %}
</ul>

{% for i in arts %}
<div class="preview row" id="member_arts" style="padding:0px 10px 0 10px">
<div class="preview-info">
<a href="/article/{{i.id}}/"><h3>{{i.title}}</h3></a>
<p class="fad">{{i.detail|striptags|truncatechars:500|safe}} </p>
<p></p>
<span class="glyphicon glyphicon-time fad"> </span>&nbsp;<span class="fad">{{i.publish_time}}</span>
&nbsp;&nbsp;&nbsp;
<span class="glyphicon glyphicon-user fad"> </span>&nbsp;<span class="fad">{{i.author}}</span>
&nbsp;&nbsp;&nbsp;
<span class="glyphicon glyphicon-th-list fad"> </span>&nbsp;<a href="/?catalog={{i.section}}"><span class="fad">{{i.section}}</span></a>
&nbsp;&nbsp;&nbsp;
<span class="glyphicon glyphicon-tag fad"> </span>&nbsp;<span class=" fad">{{i.tag}}</span>
<span class="pull-right">
<span><a href="/article/{{i.id}}/" target="__blank">查看全文</a></span>
</span>
</div>
</div>
<span class="sep" style="padding-bottom:0"></span>
{% endfor %}

{% for i in comments %}
<div class="row" id="member_comments" style="padding-left:20px">
<p>于 {{i.comment_time}} 评论了 <a href="/userpage/member/{{i.article.author_id}}/">{{i.article.author_id}} </a>的文章【 <a href="/article/{{i.article.id}}/">{{i.article}}</a>
<p><a href="/article/{{i.article.id}}/#comment_{{i.id}}">{{i.comment|safe|escape}}</p>
</div>
<span class="sep"></span>
{% endfor %}

<div class="card">
<form method="post" class="form-inline textarea" data-ajax="false" enctype="multipart/form-data" novalidate>
{% csrf_token %}
{{ user_form.as_p }}
{{ profile_form.as_p }}
<button type="submit">保存资料</button>
</form>
</div>

{% endblock %}
36 changes: 36 additions & 0 deletions userpage/templates/userpage/update.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@

{% block content%}

{% if user_form.errors %}
{% for field in user_form %}
{% for error in field.errors %}
<script type="text/javascript">
$.notify({
// options
message: '{{ error|escape }}',
},{
// settings
type: 'warning',
delay: 5000,
timer: 1000,
animate: {
enter: 'animated flipInY',
exit: 'animated flipOutX'
},
},);
</script>
{% endfor %}
{% endfor %}
{% endif %}

<div class="card">
<p></p>
<form method="post" class="form-inline textarea" data-ajax="false" enctype="multipart/form-data" novalidate>
{% csrf_token %}
{{ user_form.as_p }}
{{ profile_form.as_p }}
<button type="submit">保存资料</button>
</form>
</div>

{% endblock %}
2 changes: 1 addition & 1 deletion userpage/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
from . import views

urlpatterns = [
path('<int:user_id>/', views.homepage, name='homepage'),
path('member/<str:username>/', views.profile, name='profile'),
path('update/', views.update_profile, name='update_profile'),
]
11 changes: 9 additions & 2 deletions userpage/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,23 @@
from django.db import transaction
from .models import *
from django.contrib import messages
from article.models import *

# Create your views here.

def homepage(request, user_id):
return HttpResponse("You're looking at user %s." % user_id)
def profile(request, username):
inst_user = User.objects.get(username=username)
inst_profile = Profile.objects.get(user=inst_user)

arts = Article.objects.filter(author_id=inst_profile)
comments = Comment.objects.filter(user=inst_profile)
return render(request, 'userpage/profile.html', {'member':inst_user,'arts':arts,'comments':comments})


@login_required
@transaction.atomic
def update_profile(request):

if request.method == 'POST':
user_form = UserForm(request.POST, instance=request.user)
profile_form = ProfileForm(request.POST, instance=request.user.profile)
Expand Down

0 comments on commit 257fda1

Please sign in to comment.