第一节:整体介绍

  Python版本3.5.2,Django版本1.10

  创建一个Django工程,并且生成一个名字为mainsite的app

django-admin.py startproject myblog
python3 manage.py startapp mainsite

  文件结构如下:

[email protected]:~/chen/myblog$ tree ./
./
├── mainsite
│   ├── admin.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── manage.py
└── myblog
    ├── __init__.py
    ├── __pycache__
    │   ├── __init__.cpython-35.pyc
    │   └── settings.cpython-35.pyc
    ├── settings.py
    ├── urls.py
    └── wsgi.py

4 directories, 13 files

  介绍一下比较重要的几个文件的用途:

    manage.py    :    Django用于管理网站配置的文件,是一个接受命令行指令的工具集程序。

    setting.py      :    就像他的名字一样是用于对网站的配置进行设置的。(有些地方可能我的理解也不正确欢迎指正,批评!)

    urls.py           :    用来设置每一个URL 的网址要对应的函数以及对应的方式,通常是创建一个新的网页的时候首要编辑的文件。

    wsgi.py          :    是用于部署网站时候用的和主机中网页服务器的沟通接口(如Apache)。

  真正的网站运行逻辑都在我们创建的App里面(这里是mainsite),这个App也体现了Django的Reuse的概念。

  我们已经创建了App但是Dajngo还是不知道有这个App的,我们在setting.py中加入这个App。

INSTALLED_APPS = (
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘mainsite‘,
)

  然后修改最后的时区设置,默认时区是Django的诞生地,我们先让他倒时差,学习中文。

LANGUAGE_CODE = ‘zh-CN‘

TIME_ZONE = ‘Asia/Shanghai‘

  Django自带了一个数据库Sql.lite。是一个超小型数据库,一般情况下都会用其他数据库的。现在我们先用这个数据库。

  执行以下文件会看到生成了一个db.sqllite3的文件。

 1 [email protected]:~/chen/myblog$ python3 manage.py migrate
 2 Operations to perform:
 3   Synchronize unmigrated apps: messages, staticfiles
 4   Apply all migrations: admin, auth, sessions, contenttypes
 5 Synchronizing apps without migrations:
 6   Creating tables...
 7     Running deferred SQL...
 8   Installing custom SQL...
 9 Running migrations:
10   Rendering model states... DONE
11   Applying contenttypes.0001_initial... OK
12   Applying auth.0001_initial... OK
13   Applying admin.0001_initial... OK
14   Applying contenttypes.0002_remove_content_type_name... OK
15   Applying auth.0002_alter_permission_name_max_length... OK
16   Applying auth.0003_alter_user_email_max_length... OK
17   Applying auth.0004_alter_user_username_opts... OK
18   Applying auth.0005_alter_user_last_login_null... OK
19   Applying auth.0006_require_contenttypes_0002... OK
20   Applying sessions.0001_initial... OK

  在默认的情况下Django的数据库是通过Model的方式去操作的(这也是我爱Django的一点。),也就是在程序中不会直接面对数据库和数据表,而是先创建好Model,然后通过对Model的操作达到操作数据库的目的。这样做日后可以很方便的更换数据库。(总感觉哪里有点不对,日后就换?)

使用数据库大概分为以下几步:

  1. 在models.py中定义需要使用的类(继承自models.Model)
  2. 详细的设置每一个类中的变量,即数据表的每一个字段
  3. 使用python3 manage.py makemigrations创建数据库和Django的中介文件。
  4. 使用python3 manage.py migrate 同步更新数据库的内容。
  5. 操作python定义的类就相当于操作数据库了。

如同my_blog这个名字的意思一样,在这里我们需要有一个储存博文的数据表。

  最初的时候models.py文件的内容就是这些。

from django.db import models

# Create your models here.

修改之后内容如下:

from django.db import models
from django.utils import timezone
# Create your models here.

class Post(models.Model):
    title = models.CharField(max_length = 200,verbose_name = ‘标题‘)
    slug = models.CharField(max_length = 200,verbose_name = ‘作者‘)
    body = models.TextField(verbose_name = ‘内容‘)
    pub_date = models.DateTimeField(default = timezone.now,verbose_name = ‘发表时间‘)

    class Meta:
        verbose_name="文章内容"                # 后台表的名称
        verbose_name_plural = "文章内容"
        ordering = [‘-pub_date‘]    # 排序

    def __str__(self):
        return self.title    # 在 Admin界面显示的内容

verbose_name 自己试一下应该可以知道是将原来的名字给换了一下,换成中文。

在设计好表之后,执行makemigrations和migrate操作,然后创建一个超级用户,

python3 manage.py createsuperuser

登陆进去添加五篇文章。

  

时间: 2024-10-11 07:24:17

第一节:整体介绍的相关文章

火云开发课堂 - 《Shader从入门到精通》系列 第一节:Shader介绍与工程搭建

<Shader从入门到精通>系列在线课程 第一节:Shader介绍与工程搭建 视频地址:http://edu.csdn.net/course/detail/1441/22665?auto_start=1 交流论坛:http://www.firestonegames.com/bbs/forum.php 工程下载地址:请成为正式学员获取工程 课程截图: 项目实例: 版权声明:本文为博主原创文章,未经博主允许不得转载.

第一节、介绍

CSDN博客: forlong401 邮件地址:[email protected] 微博:@forlong401 第一章 轻量级视图控制器,2013年6月 欢迎阅读objc.io期刊第一期.objc.io是关于Objective-C最佳实践和高阶技术的期刊! objc.io期刊是由Chris Eidhof.Daniel Eggert和Florian Kugler创刊于德国柏林.期刊创立的目的是为iOS和OS X开发者探讨深度技术话题提供一个正规的平台. 期刊的每一期聚焦一个特定话题,通过多篇文章

CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第一节

原文链接 第一节 CUDA 让你可以一边使用熟悉的编程概念,一边开发可在GPU上运行的软件. Rob Farber 是西北太平洋国家实验室(Pacific Northwest National Laboratory)的高级科研人员.他在多个国家级的实验室进行大型并行运算的研究,并且是几个新创企业的合伙人.大家可以发邮件到[email protected]与他沟通和交流. 您是否有兴趣在使用高级语言(比如C编程语言)编程时,通过标准多核处理器将性能提升几个数量级?您是否期待拥有跨多个设备的伸缩能力

Spark修炼之道(基础篇)——Linux大数据开发基础:第一节、Linux介绍、安装及使用初步

本节主要内容 Linux简史 Linux特点 Ubuntu Linux安装 Linux使用初步 1. Linux简史 要讲述大名鼎鼎的Linux,必然要先从UNIX系统谈起,下面这幅图给出了Unix系统的进化图: 图片来源:http://baike.baidu.com/link?url=QfoqWtWGs-BjpnfEy_AUk7Bm3XHuf6JbN92HCOoUBfFfj8BuSDkbwmldtmUEmGRDUwqsQMIV4jCKHvdkSPr3Lq 从进化图中可以看到,目前所有的主流操作

辛星让mysql跑的更快第一节之优化的方向和数据库建模

最近计划写一套书目,也就是关于mysql的优化的,那么首先在博客上写写,然后整理成pdf的文档的形式,当然也期待各位的关注了.对于mysql的优化是一个比较大的话题,可优化的地方也很多,大致想了一下,可以从这些地方下手. 首先就是硬件层次,包括选择合适的操作系统.选择合适的硬件,然后就是源码层次,不过虽然mysql是开源的,但是能够修改其源代码的公司虽然不少,但是也没有那么多,但是我们可以选择更加合适的编译器重新编译其源代码,然后就是设计到表的设计,也就数据库建模. 其次可以考虑使用一些其他技术

【计算机网络】第一章第一节 计算机网络的基本概念

第一章第一节 计算机网络的基本概念 第一章概述了计算机网络和因特网,这一章从整体上粗线条地勾画出计算机网络的概貌和全课程的框架 Outline 计算机网络的具体构成描述 协议 Notes ## 计算机网路的具体构成描述  [计算机网络的定义] 计算机网络是 通信技术 与 计算机技术 紧密结合的产物 计算机网络就是 互连的.自治的 计算机集合 自治:无主从关系 互连:互联互通 计算机网络就是一种特殊的通信网络(信源和信宿都是计算机.传输数字化信息) [具体构成] 主机:处在因特网的边缘部分的设备都

LTP 第一章 LTP介绍及内部机制

https://blog.csdn.net/yuanlaijike/article/details/78068331 LTP 第一章 LTP介绍及内部机制原创Jitwxs 发布于2017-09-23 03:21:58 阅读数 3993 收藏展开LTP系列链接: 第一章 LTP介绍及内部机制 第二章 开发Shell测试集 第三章 开发系统调用测试集 第四章 开发_exit()测试集 第五章 开发IO操作测试集 第六章 开发IO阻塞测试集 文章目录1.1 LTP介绍1.1.1 功能测试1.1.2 回

《C# 爬虫 破境之道》:第二境 爬虫应用 — 第一节:HTTP协议数据采集

首先欢迎您来到本书的第二境,本境,我们将全力打造一个实际生产环境可用的爬虫应用了.虽然只是刚开始,虽然路漫漫其修远,不过还是有点小鸡冻:P 本境打算针对几大派生类做进一步深耕,包括与应用的结合.对比它们之间的区别.综合共性.封装.One-By-One. System.IO.Packaging.PackWebRequest System.Net.FileWebRequest System.Net.FtpWebRequest System.Net.HttpWebRequest 第一节,我们先来说说最

第一节课作业

1 C语言是在国内外广泛使用的一种计算机语言.其语言功能丰富.表达能力强.使用灵活方便.既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件.其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl...都是衍生自C语言.掌握了C语言,可以说你就掌握了很多门语言. 学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不

VUE2.0实现购物车和地址选配功能学习第一节(来源--慕课网河畔一角)

第一节  vue知识 vue-resource:和后台交互的一个插件,实现get.post和jsonp等功能.(替代jQuery) vue特点: 1.易用:通过创建vue实例,{{}}绑定数据十分方便,如果是jQuery还要获取值,设定十分繁琐 2.灵活-渐进式 ①渲染字段:②公共头部和公共尾部做成组件:③单页面会用到:④管理组件状态,vuex⑤使用构建工具完结项目 3.高效 ①16kb min+gzip的运行大小:②超快虚拟DOM:③最省心的优化 vue基础指令介绍: 1.指令的使用: v-m