基於django的博客網站

1、項目簡介數據庫

1.1 項目博客地址架構

1.2 https://home.cnblogs.com/longisland/框架

1.2 項目完成的功能與特點工具

登錄,註冊,博客評論,發表博客,刪除博客,修改博客post

   1.3 項目採用的技術棧開發工具

Django爲框架,pycharm爲開發工具,使用MySQL爲數據庫,開發的一款博客網站。網站

   1.4 項目借鑑源代碼的地址ui

https://mp.weixin.qq.com/s?src=11×tamp=1576405351&ver=2036&signature=oZiLgdsth8*1BZJ9YqR8j8zWYSt2eWczizNWs6rfzKoCHfevitp9hvb1drlolAFLZ2f7QpIR9v8aGnoXaJ*EiLKJh1bP*TFlUUGWSZOC5HZWTPoldNOc9RKJ5c1YZDoW&new=1url

https://blog.csdn.net/holysll/article/details/87911218spa

   1.5 團隊成員任務分配表

許奕鈿

登錄,註冊

王福斌

發表博客,刪除,修改博客

包香龍

博客評論,評論分析

    

 

 

 

2、項目的需求分析

用戶的註冊,登錄;

博客的發表,修改和刪除;

博客發表評論,評論分析;

3、項目功能架構圖、主要功能流程圖

 

 

 

 

 

 

 

 

 

4、系統模塊說明

     4.1 系統模塊列表

    4.1.1.用戶登陸註冊模塊;

    4.1.2.博客發表模塊;

    4.1. 3.博客修改刪除模塊;

  4.1.4.博客評論模塊

    4.1.5.評論分析

     4.2 各模塊詳細描述(名稱,功能,運行截圖,關鍵源代碼)

用戶登錄:

 

 

 

<div class="col-sm-9">

                    {% if form.errors %}

                        <div class="alert alert-danger">你的用戶名或密碼錯誤,請從新登陸</div>

                    {% endif %}

                </div>

                <!-- Form - Login -->

                <form method="post" action="{% url 'login' %}" class="form-horizontal">

                    {% csrf_token %}

                    <div class="form-group">

                        <div class="col-sm-9">

                            <!-- Form field - username -->

                            <input type="text"

                                   placeholder="用戶名"

                                   class="form-control"

                                   name="username">

                        </div>

                    </div>

                    <div class="form-group">

                        <div class="col-sm-9">

                            <!-- Form field - password -->

                            <input type="password"

                                   placeholder="密碼"

                                   class="form-control"

                                   name="password">

                        </div>

                    </div>

                    <div class="row">

                        <div class="col-sm-9">

                            <input type="submit" class="btn btn-primary btn-block" value="登陸"/>

                        </div>

                    </div>

 

用戶註冊:

 

 

 

 <form action="" method="post" class="form-horizontal">

                    {% csrf_token %}

                    <div class="form-group">

                        <div class="col-sm-9">

                            <!-- Errors - username -->

                            {% if form.username.errors %}

                                <label class="alert alert-danger">{{ form.username.errors }}</label>

                            {% endif %}

                            <!-- Form field - username -->

                            <input type="text"

                                   placeholder="Username"

                                   class="form-control"

                                   name="username"

                                   required

                                   value="{{ form.username.value|default:"" }}">

                        </div>

                    </div>

                    <div class="form-group">

                        <div class="col-sm-9">

                            <!-- Errors - password -->

                            {% if form.password.errors %}

                                <label class="alert alert-danger">{{ form.password.errors }}</label>

                            {% endif %}

                            <!-- Form field - password -->

                            <input type="password"

                                   placeholder="Password"

                                   class="form-control"

                                   name="password"

                                   required

                                   value="{{ form.password.value|default:"" }}">

                        </div>

                    </div>

                    <div class="form-group">

                        <div class="col-sm-9">

                            <!-- Errors - first_name -->

                            {% if form.first_name.errors %}

                                <label class="alert alert-danger">{{ form.first_name.errors }}</label>

                            {% endif %}

                            <!-- Form field - first_name -->

                            <input type="text"

                                   placeholder="First Name"

                                   class="form-control"

                                   name="first_name"

                                   required

                                   value="{{ form.first_name.value|default:"" }}">

                        </div>

                    </div>

                    <div class="form-group">

                        <div class="col-sm-9">

                            <!-- Errors - last_name -->

                            {% if form.last_name.errors %}

                                <label class="alert alert-danger">{{ form.last_name.errors }}</label>

                            {% endif %}

                            <!-- Form field - last_name -->

                            <input type="text"

                                   placeholder="Last Name"

                                   class="form-control"

                                   name="last_name"

                                   required

                                   value="{{ form.last_name.value|default:"" }}">

                        </div>

                    </div>

                    <div class="form-group">

                        <div class="col-sm-9">

                            <!-- Errors - email -->

                            {% if form.email.errors %}

                                <label class="alert alert-danger">{{ form.email.errors }}</label>

                            {% endif %}

                            <!-- Form field - email -->

                            <input type="text"

                                   placeholder="Email"

                                   class="form-control"

                                   name="email"

                                   required

                                   value="{{ form.email.value|default:"" }}">

                        </div>

                    </div>

 <div class="form-group">

                        <div class="col-sm-9">

                            <!-- Submit button -->

                            <button type="submit" class="btn btn-primary btn-block">註冊</NOtton>

                        </div>

                    </div>

 

登錄異常處理:

 

 

 

 

註冊異常處理:

 

 

 

 

 

 

 

 

 

博客發表:

 

 

 

 

 

 

<div class="form-group">

                        <div class="col-sm-9">

                            <!-- Errors - title -->

                            {% if form.title.errors %}

                                <label class="alert alert-danger">{{ form.title.errors }}</label>

                            {% endif %}

                            <!-- Form field - title -->

                            <input type="text"

                                   placeholder="標題"

                                   class="form-control"

                                   name="title"

                                   value="{{ form.title.value|default:"" }}">

                        </div>

                    </div>

                    <div class="form-group">

                        <div class="col-sm-9">

                            <!-- Errors - body -->

                            {% if form.body.errors %}

                                <label class="alert alert-danger">{{ form.body.errors }}</label>

                            {% endif %}

                            <!-- Form fields - body -->

                            <textarea placeholder="內容"

                                      class="form-control"

                                      name="body">{{ form.body.value|default:"" }}</textarea>

                        </div>

                    </div>

                    <div class="form-group">

                        <div class="col-sm-9">

                            <!-- Submit button -->

                            <button type="submit" class="btn btn-primary btn-block">發表</NOtton>

                        </div>

                    </div>

 

博客修改:

 

 

 

 

 

 

def test_update_post_by_author(self):

        self.client.login(username=USERNAME_JOHN, password=PASSWORD_JOHN)

        # Empty fields in form

        response = self.client.post(self.url, {'title': '', 'body': ''})

        self.assertFormError(response, 'form', 'title', '標題不能爲空')

        self.assertFormError(response, 'form', 'body', '內容不能爲空')

        # Non-empty fields in form

        response = self.client.post(self.url, {'title': 'Title 3', 'body': 'Lorem ipsum'})

        self.assertRedirects(response, reverse('blog:post', kwargs={'pk': self.test_post_john.id}))

 

博客刪除:

 

 

 

 

 

 

 def test_delete_post_by_author(self):

        self.client.login(username=USERNAME_JOHN, password=PASSWORD_JOHN)

        response = self.client.post(self.url)

        self.assertRedirects(response, reverse('blog:home'))

博客評論:

 

 

 

 

def test_create_comment_by_logged_user(self):

        self.client.login(username=USERNAME_JOHN, password=PASSWORD_JOHN)

        # Empty fields in form

        response = self.client.post(self.url, {'body': ''})

        self.assertFormError(response, 'form', 'body', '評論不能爲空.')

        # Non-empty fields in form

        response = self.client.post(self.url, {'body': 'Lorem ipsum'})

        self.assertRedirects(response, reverse('blog:post', kwargs={'pk': self.test_post_john.id}))

 

 

評論分析:

 

 

 

 

 

 

 

 

 

 

 

5、項目總結

  5.1 特色

1.用戶操做博客簡單;

2.持續更新:用戶能夠更新本身的博客內容;

3.開放互動:用戶能夠在博客評論區進行評論互動;

4.展現個性;

  5.2 不足之處

整個網站的邏輯還不夠嚴密,關於用戶互動的功能,博客發表的內容還不夠完善,頁面設計不夠新穎。

相關文章
相關標籤/搜索