修改model

master
车亮亮 9 years ago
parent 9b5314c512
commit e4c8a6a13e

6
.gitignore vendored

@ -61,4 +61,8 @@ target/
# PyCharm # PyCharm
# http://www.jetbrains.com/pycharm/webhelp/project.html # http://www.jetbrains.com/pycharm/webhelp/project.html
.idea .idea
.iml .iml
migrations/
!migrations/__init__.py

@ -1,48 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.2 on 2016-11-02 12:49
from __future__ import unicode_literals
import django.contrib.auth.models
import django.contrib.auth.validators
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
initial = True
dependencies = [
('auth', '0008_alter_user_username_max_length'),
]
operations = [
migrations.CreateModel(
name='BlogUser',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')),
('last_name', models.CharField(blank=True, max_length=30, verbose_name='last name')),
('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
('nickname', models.CharField(blank=True, max_length=50, verbose_name='昵称')),
('mugshot', models.ImageField(blank=True, upload_to='upload/mugshots', verbose_name='头像')),
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
],
options={
'verbose_name_plural': 'users',
'abstract': False,
'verbose_name': 'user',
},
managers=[
('objects', django.contrib.auth.models.UserManager()),
],
),
]

@ -0,0 +1,14 @@
#!/usr/bin/env python
# encoding: utf-8
"""
@version: ??
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@software: PyCharm
@file: __init__.py
@time: 2016/11/2 下午9:15
"""

@ -1,77 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.2 on 2016-11-01 15:09
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Article',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=200, verbose_name='标题')),
('body', models.TextField(verbose_name='正文')),
('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('last_mod_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('pub_time', models.DateTimeField(blank=True, help_text='不指定发布时间则视为草稿,可以指定未来时间,到时将自动发布。', null=True, verbose_name='发布时间')),
('status', models.CharField(choices=[('d', '草稿'), ('p', '发表')], max_length=1, verbose_name='文章状态')),
('summary', models.CharField(blank=True, help_text='可选若为空将摘取正文的前54个字符。', max_length=200, verbose_name='摘要')),
('views', models.PositiveIntegerField(default=0, verbose_name='浏览量')),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='作者')),
],
options={
'ordering': ['-pub_time'],
'verbose_name': '文章',
'verbose_name_plural': '文章',
},
),
migrations.CreateModel(
name='Category',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=30, verbose_name='分类名')),
('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('last_mod_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
],
options={
'ordering': ['name'],
'verbose_name': '分类',
'verbose_name_plural': '分类',
},
),
migrations.CreateModel(
name='Tag',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=30, verbose_name='标签名')),
('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('last_mod_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
],
options={
'ordering': ['name'],
'verbose_name': '标签',
'verbose_name_plural': '标签',
},
),
migrations.AddField(
model_name='article',
name='category',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.Category', verbose_name='分类'),
),
migrations.AddField(
model_name='article',
name='tags',
field=models.ManyToManyField(blank=True, to='blog.Tag', verbose_name='标签集合'),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.2 on 2016-11-02 12:49
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('comments', '0001_initial'),
('blog', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='article',
name='comment',
field=models.ManyToManyField(blank=True, to='comments.Comment', verbose_name='评论集合'),
),
]

@ -23,7 +23,7 @@ class Article(models.Model):
category = models.ForeignKey('Category', verbose_name='分类', on_delete=models.CASCADE) category = models.ForeignKey('Category', verbose_name='分类', on_delete=models.CASCADE)
tags = models.ManyToManyField('Tag', verbose_name='标签集合', blank=True) tags = models.ManyToManyField('Tag', verbose_name='标签集合', blank=True)
comment = models.ManyToManyField('comments.Comment', verbose_name='评论集合', blank=True)
def __str__(self): def __str__(self):
return self.title return self.title

@ -0,0 +1,14 @@
#!/usr/bin/env python
# encoding: utf-8
"""
@version: ??
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@software: PyCharm
@file: __init__.py
@time: 2016/11/2 下午9:15
"""

@ -1,34 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.2 on 2016-11-02 12:49
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Comment',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('body', models.TextField(verbose_name='正文')),
('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('last_mod_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='作者')),
],
options={
'verbose_name_plural': '评论',
'ordering': ['created_time'],
'verbose_name': '评论',
},
),
]

@ -1,6 +1,7 @@
from django.db import models from django.db import models
from django.conf import settings from django.conf import settings
from blog.models import Article
# Create your models here. # Create your models here.
@ -11,6 +12,7 @@ class Comment(models.Model):
last_mod_time = models.DateTimeField('修改时间', auto_now=True) last_mod_time = models.DateTimeField('修改时间', auto_now=True)
author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='作者', on_delete=models.CASCADE) author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name='作者', on_delete=models.CASCADE)
article = models.ForeignKey(Article, verbose_name='文章', on_delete=models.CASCADE)
class Meta: class Meta:
ordering = ['created_time'] ordering = ['created_time']

@ -0,0 +1,14 @@
#!/usr/bin/env python
# encoding: utf-8
"""
@version: ??
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@software: PyCharm
@file: __init__.py
@time: 2016/11/2 下午9:15
"""

@ -0,0 +1,28 @@
#!/usr/bin/env python
# encoding: utf-8
"""
@version: ??
@author: liangliangyy
@license: MIT Licence
@contact: liangliangyy@gmail.com
@site: https://www.lylinux.org/
@software: PyCharm
@file: comments_tags.py
@time: 2016/11/2 下午9:17
"""
from django import template
from django.template.loader import render_to_string
from ..models import Comment
from blog.models import Article
register = template.Library()
@register.simple_tag(name='get_comment_count')
def GetCommentCount(parser, token):
#pkid = token
#comments = Comment.objects
return 'wergwergwergwerger'

@ -28,7 +28,12 @@
</div> </div>
</header> </header>
<div class="entry-content clearfix"> <div class="entry-content clearfix">
<p>Responsive web design offers us a way forward, finally allowing us to design for the {% load comments_tags %}
{% get_comment_count for article.pk as num_comments %}
<p>
{{ num_comments }}
Responsive web design offers us a way forward, finally allowing us to design for the
ebb ebb
and and
flow of things. There are many variations of passages of Lorem Ipsum available, but flow of things. There are many variations of passages of Lorem Ipsum available, but

Loading…
Cancel
Save