Django 寫博客1. 一個網頁,兩個form,分別提交


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處理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM