Django新手,目前斷斷續續學了一個月Django,開始寫個博客
Python 2.7.11 Django 1.10.2 Bootstrap 3.3.0 IDE:eclipse Pydev
models
# 用戶 class User(models.Model): username = models.CharField(max_length=50, unique=True) email = models.EmailField(unique=True) password = models.CharField(max_length=50) admin = models.BooleanField(default=False) #image = models.ImageField(upload_to='static/image/%Y/%m', default='static/image/default.jpg', max_length=200, # blank=True, null=True, verbose_name='用戶頭像') created_dt = models.DateTimeField(auto_now_add=True, db_index=True) def __unicode__(self): return self.username # 博客分類 class Category(models.Model): name = models.CharField(max_length=64, blank=True, null=True) def __unicode__(self): return self.name # 博客標簽 class ArticleTag(models.Model): tagname = models.CharField(max_length=48, blank=True, null=True) def __unicode__(self): return self.tagname # 博客 class Article(models.Model): subject = models.CharField(max_length=50) summary = models.CharField(max_length=500) content = models.TextField() created_dt = models.DateTimeField(auto_now_add=True, db_index=True) modify_dt = models.DateTimeField(auto_now=True, null=True, blank=True) article_type = models.ForeignKey(Category) article_tag = models.ManyToManyField(ArticleTag) writer = models.ForeignKey(User) is_top = models.BooleanField(default=False) num_like = models.PositiveIntegerField(default=0) num_click = models.PositiveIntegerField(default=0) def get_absolute_url(self): return reverse('article-detail', kwargs={'pk': self.pk}) def __unicode__(self): return self.subject # 評論 class Comment(models.Model): content = models.TextField() created_dt = models.DateTimeField(auto_now_add=True, db_index=True) user = models.ForeignKey(User) article = models.ForeignKey(Article) num_like = models.PositiveIntegerField() num_dislike = models.PositiveIntegerField() pid = models.ForeignKey('self', blank=True, null=True, verbose_name='父評論')
一 實現用戶管理功能(展示用戶信息(userinfo),修改用戶密碼(changepwd),修改用戶信息(changeuserinfo))
在一個頁面下不同標簽切換顯示:
1 <div id="bodynav" class="nav nav-tabs"> 2 <ul class="nav nav-tabs" role="tablist"> 3 <li role="presentation" class="active"><a href="#tab_userinfo" data-toggle="tab">用戶信息</a></li> 4 <li role="presentation"><a href="#tab_changepwd" data-toggle="tab">密碼修改</a></li> 5 <li role="presentation"><a href="#tab_changeuserinfo" data-toggle="tab">用戶信息修改</a></li> 6 </ul> 7 </div> 8 <!-- 每個tab頁對應的內容 --> 9 <div id="myTabContent" class="tab-content"> 10 <div class="tab-pane fade in active" id="tab_userinfo"> 11 {{userinfo.username}} 12 {{userinfo.email}} 13 </div> 14 15 <div class="tab-pane fade" id="tab_changepwd"> 16 <form id='changepwd' action="/changepwd/" method="post"> 17 <table border =2> 18 {{changeform.as_table}} 19 </table> 20 <input type="submit" name='changepwd' value="確認" > 21 </form> 22 </div> 23 24 <div class="tab-pane fade" id="tab_changeuserinfo"> 25 <form id='changeuserinfo' action="/changeuserinfo/" method="post"> 26 <table border =2> 27 {{newuserinfo.as_table}} 28 </table> 29 <input type="submit" name='changeuserinfo' value="確認" > 30 </form> 31 </div> 32 </div>
同時根據不同表單分別提交不同到的views處理