• Django快速搭建博客


    准备工作:

    1.Python

    2.Django

    3.Git

    安装Python:

    官网下载

    安装Django:

    #安装最新版本的Django
    $ pip install  django 
    #或者指定安装版本
    pip install -v django==1.7.1
    

    现在正式开始创建一个名为my_blog的Django项目:

    $ django-admin.py startproject my_blog
    

    建立Django app(article):

    $ python manage.py startapp article

    到目前为止的项目结构如下:

    ── article
    │   ├── __init__.py
    │   ├── admin.py
    │   ├── migrations
    │   │   └── __init__.py
    │   ├── models.py
    │   ├── tests.py
    │   └── views.py
    ├── db.sqlite3
    ├── manage.py
    ├── my_blog
        ├── __init__.py
        ├── __pycache__
        │   ├── __init__.cpython-34.pyc
        │   ├── settings.cpython-34.pyc
        │   ├── urls.cpython-34.pyc
        │   └── wsgi.cpython-34.pyc
        ├── settings.py
        ├── urls.py
        └── wsgi.py

     并在my_blog/my_blog/setting.py下添加新建app:

    INSTALLED_APPS = (
        ...
        'article',  #这里填写的是app的名称
    )
    


    运行程序!启动Django中的开发服务器:

    $ python manage.py runserver 
    

      

    如果出现以上界面则说明运行成功。


     命令总结

    python manage.py <command> [options]  #Django Command python manange.py -h帮助文档
    django-admin.py startproject my_blog  #创建项目
    python manage.py startapp article  #创建app
    

    Django Model:

    • 每一个Django Model都继承自django.db.models.Model
    • Model当中每一个属性attribute都代表一个database field
    • 通过Django Model API可以执行数据库的增删改查, 而不需要写一些数据库的查询语句

    设置数据库:

    Django项目建成后, 默认设置了使用SQLite数据库, 在my_blog/my_blog/setting.py中可以查看和修改数据库设置

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
    

    还可以设置其他数据库, 如MySQL, PostgreSQL, 现在为了简单, 使用默认数据库设置。

    创建models:

    在my_blog/article/models.py下编写以下代码

    from django.db import models
    
    # Create your models here.
    class Article(models.Model) :
        title = models.CharField(max_length = 100)  #博客题目
        category = models.CharField(max_length = 50, blank = True)  #博客标签
        date_time = models.DateTimeField(auto_now_add = True)  #博客日期
        content = models.TextField(blank = True, null = True)  #博客文章正文
    
        #python2使用__unicode__, python3使用__str__
        def __str__(self) :
            return self.title
    
        class Meta:  #按时间下降排序
            ordering = ['-date_time']
    

    其中__str__(self) 函数Article对象要怎么表示自己, 一般系统默认使用<Article: Article object> 来表示对象, 通过这个函数可以告诉系统使用title字段来表示这个对象

    • CharField 用于存储字符串, max_length设置最大长度
    • TextField 用于存储大量文本
    • DateTimeField 用于存储时间, auto_now_add设置True表示自动设置对象增加时间
  • 相关阅读:
    zyUpload+struct2完成文件上传
    js表单动态添加数据并提交
    Hibernate注解
    ueditor的配置和使用
    设计模式
    静态Include和动态Include测试并总结
    java笔试题
    perf使用示例1
    perf 简介
    ss简单使用
  • 原文地址:https://www.cnblogs.com/qq597585136/p/7575982.html
Copyright © 2020-2023  润新知