Django开发个人博客网站

------------------------------------------------------------ 总结 ------------------------------------------------------------

1. 安装python和django并配置环境变量;

2. 将 django-admin.py 文件复制到目录A(A表示你想在该目录下创建项目);

3. 输入【 python django-admin.py startproject project_name 】创建项目;

4. 输入【 python .\manage.py runserver 127.0.0.1:8000 】运行本地IP,跑起项目,此时即可选择浏览器,输入网址 “http://127.0.0.1:8000/” 打开网页;

5. 输入【 python .\manage.py startapp appName 】创建app项目,并进行如下配置:

  1)手动添加urls.py;

  2)配置【setting.py】,包括appName、templates、static等(后续的数据库类型也是在这里配置);

  3)理解每个appName下的urls.py和projectName目录下的urls.py的关系,比进行配置;

  4)编写appName目录下的【views.py】,返回变量和具体网页;

6. 输入【 python .\manage.py sycndb 】创建数据库

-------------------------------------------------------------------------------------------------------------------------------

1.pycharm,python,django下载安装好后,新建一个项目:mysite (左侧栏中的django)

文件说明如下:

  • manage.py一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • __init__.py一个空文件,告诉 Python 该目录是一个 Python 包。
  • settings.py该 Django 项目的设置/配置。
  • urls.py该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • wsgi.py一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

    -------------------------------------------------------------------------------------------------------------------------

a.创建一个Django项目,并且使用 python manage.py startapp blog 命令创建一个APP,并且在settings.py中添加blog


INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
)

b.数据库的操作:
首先,在MySQL里面创建一个叫做 blog 的数据库;然后在settings.py中加入数据库配置如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'blog',
        'USER': 'name',
        'PASSWORD':'pass',
        'HOST':'localhost',
        'PORT':'3306',
    }
}

c.在models.py中放入如下代码作为数据库的描述:

# encoding:utf8
from django.db import models
from django.contrib import admin


class Article(models.Model):
    title = models.CharField(max_length=100)    # 博客题目
    category = models.TextField(max_length=50, blank=True)  # 博客标签
    date_time = models.DateTimeField(auto_now_add=True) # 博客日期
    content = models.TextField(blank=True, null = True) # 博客文章正文

    def __unicode__(self):
        return self.title

    class Meta: # 按时间下降排序
        ordering = ['-date_time']

# Register model
admin.site.register(Article)

d.同步数据库

python manage.py migrate
python manage.py makemigrations
python manage.py migrate

e.是界面以及相应的数据库操作:
1、在settings.py中的TEMPLATES的DIRS位置修改如下:

'DIRS': [BASE_DIR+"/templates",],

2、在TEMPLATE目录下添加HTML文件,代码如下:
(1)base.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A layout example that shows off a blog page with a list of posts.">

    <title>Vincent's Blog</title>
    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css">
    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/grids-responsive-min.css">
    <link rel="stylesheet" href="http://picturebag.qiniudn.com/blog.css">
</head>
<body>
<div id="layout" class="pure-g">
    <div class="sidebar pure-u-1 pure-u-md-1-4">
        <div class="header">
            <h1 class="brand-title">Vincent's Blog</h1><br>
            <h2 class="brand-tagline">不想变成咸鱼的猫</h2><br>
            <nav class="nav">
                <ul class="nav-list">
                    <li class="nav-item">
                        <a class="pure-button" href="https://github.com/MrJoeyM">Github</a>
                    </li>
                    <li class="nav-item">
                        <a class="pure-button" href="http://blog.csdn.net/github_39611196">CSDN</a>
                    </li>
                </ul>
            </nav>
        </div>
    </div>

    <div class="content pure-u-1 pure-u-md-3-4">
        <div>
            {% block content %}
            {% endblock %}
            <div class="footer">
                <div class="pure-menu pure-menu-horizontal pure-menu-open">
                    <ul>
                        <li><a href="https://github.com/MrJoeyM">Github</a></li>
                        <li><a href="http://blog.csdn.net/github_39611196">CSDN</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>
</body>
</html>

(2).home.html

{% extends "base.html" %}

{% block content %}
<div class="posts">
    {% for post in post_list %}
        <section class="post">
            <header class="post-header">
                <h2 class="post-title">{{ post.title }}</h2>

                    <p class="post-meta">
                        Time:  <a class="post-author" href="#">{{ post.date_time }}</a> <a class="post-category post-category-js" href="#">{{ post.category }}</a>
                    </p>
            </header>

                <div class="post-description">
                    <p>
                        {{ post.content }}
                    </p>
                </div>
        </section>
    {% endfor %}
</div><!-- /.blog-post -->
{% endblock %}

(3)、在views.py中添加如下代码:


from blog.models import Article
from datetime import datetime
from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.


def home(request):
    post_list = Article.objects.all()
    return render(request, 'home.html', {'post_list':post_list})


def detail(request, my_args):
    post = Article.objects.all()[int(my_args)]
    str = ("title = %s, category = %s, date_time = %s, content = %s"
           % (post.title, post.category, post.date_time, post.content))
    return HttpResponse(str)

(4)、修改urls.py为如下所示:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/',home),
]

启动项目,在浏览器中输入 localhost:8000

创建后台账号:

python manage.py createsuperuser

http://127.0.0.1:8000/admin/

 

 

 

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值