Django学习笔记 (1)

Django学习笔记

1.简单的博客系统
	1.1 Django起步
		1.1.1 Django简介
		1.1.2 安装 Django
		1.1.3 创建项目
		1.1.4 创建应用
		1.1.5 网站配置
		1.1.6 知识点
	1.2 编写博客的数据模型类
	  1.2.1 数据模型类
	  1.2.2 发布博客文章
	  1.2.3 知识点
	1.3 显示博客信息
	  1.3.1 显示文章标题
	  1.3.2 查看文章内容
	  1.3.3 知识点
2. 用户管理

1. 简单的博客系统

1.1 Django起步

1.1.1 Django简介

• 容易上手,开发速度快:
• 囊括了网站开发中的用户管理、内容管理、网站地图、 RSS 等常用的众多插件:
• 安全性强,比如 Django 默认解决了 SQL 注入、跨站攻击等问题;
• 应用广泛,类型多样化。使用 Django 开发的网站包括公司提供的各类在线服务网站
社会组织和政府机构网站等,其类型包括但不限于管理系统、社交网站、计算平台等。

1.1.2 安装 Django

$ sudo pip install Django==1.10.1
$ python
>>>import django
>>>print(django.get_version())#打印出当前Django的版本号

② 或

$ git clone https://github.com/django/django.git 
$ sudo pip install -e ./django

1.1.3 创建项目(project)

$ django-admin startproject mysite
$ tree
|--mysite
  |--manage.py
  |--mysite
    |--__init__.py
    |--settings.py
    |--urls.py
    |--wsgi.py

② 或

$ django-admin startproject mysite .#注意命令行末尾的 ‘ . ’
$ tree
|--manage.py
|--mysite
  |--__init__.py
  |--settings.py
  |--urls.py
  |--wsgi.py

③ 之后运行服务

$ python manage.py runserver
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C

1.1.4 创建应用(application)

① 创建第一个blog应用

$ cd /root/mysite/mysite
$ ls
manage.py mysite
$ python manage.py startapp blog
$ tree
|--blog
  |--admin.py
  |--apps.py
  |--__init__.py
  |--migrations
    |--__init__.py
  |--models.py
  |--tests.py
  |--views.py
|--db.splite3
|--manage.py
|--mysite
  |--__init__.py
  |--settings.py
  |--urls.py
  |--wsgi.py

② 各个部分的简介
1)manage.py(不可删除,后续要用)
在创建一个Django项目后,manage.py被自动生成在项目的根目录中,它是对django-admin.py的简单封装,同样能够实现命令行操作,同时还有自己的特点。

django-admin命令对应着django-admin.py文件,他在Django安装后保存在Django安装目录的 /bin 下面。

而manage.py只在建立了一个项目之后,才存在于项目的根目录中。

2)mysite
mysite是所建项目的管理功能目录,因用户所创建的项目名称的不同而异,一般不在其中输入应用部分的内容。

其中的几个文件常用于面向整个项目进行参数匹配:

a.settings.py:这个文件中包含了项目的初始化设置,可以针对整个项目进行有关参数配置,比如配置数据库、添加应用等。

b.urls.py:这是一个URL配置文件,主要是将URL映射到应用程序上,该对象被称为URLconf。

c.wsgi.py:(Web Server Gateway Interface),WSGI是Python所选择的服务器和应用标准,Django也会使用。

d.pycacha:只有在网站运行后,他才会出现,是一个文件夹,其中都是以 .pyc 结尾的文件。

e.views.py:重要的文件!用户保存响应各种请求的函数或者类。如果编写的是函数,则称之为基于函数的视图;如果编写的是类,则称之为基于类的视图。views.py就是保存函数或者类的视图文件。

【注】
本质:类似 web.py 中,对象"render = web.template.render(“templates/)”;
作用:调用渲染文件,如HTML

3)db.splite3
这是一个默认的数据库。SQLite是Python默认安装的数据库。这个默认文件是在 ./mysite/settings.py 中配置生成的)。

1.1.5 网站配置

在Django项目中,主管信息注册(对本项目进行各种信息声明)的文件是 ./mysite/settings.py 。下面选择几个目前会用到的进行说明。

  • DEBUG:其值为True或者False。

    “开发模式”——在开发过程中需要设置为True,为了在测试功能时让Django能够显示详细的报错信息。

    “生产环境”——如果将项目部署到真正要对外发布的服务器上,必须将其值修改为False,从而避免暴露项目的内部信息。

  • ALLOWED_HOSTS:

    在DEBUG为True时,其值可以为空。
    当部署到生产环境中时,要把主域名填写到这里,才能通过域名访问到本网站。

  • INSTALLED_APPS:非常重要的配置项,所有的应用只有写到这里才能生效。

下面的INSTALLED_APPS列表中, #1 是新增加的,就是所建立的应用名称,其他各项是Django默认具有的应用。

INSTALLED_APPS = [
	'django.contrib.admin',
	'django.contrib.auth',
	'django.contrib.contenttypes',
	'django.contrib.sessions',
	'django.contrib.messages',
	'django.contrib.staticfiles',
	'blog',	#1
]
  • DATABASES:在这里可以配置数据库。Django能够支持多种数据库,比如常见的MySQL、PostgreSQL、Oracle等。

    默认配置数据库为 SQLite

    如果用到了其他数据库,可以到官网1查询相关配置方式

  • LANGUAGE_CODE:设置项目的语言,一般情况下可以不用修改。

    汉语设置为

     LANGUAGE_CODE = ‘zh-hans’
    
  • TIME_ZONE:设置市区,通常使用东八区,设置为

      TIME_ZONE = 'Asia/Shanghai'
    

1.1.6 知识点

.1 开发模式

系统尚处于开发阶段,还没有正式对外部客户提供服务,这种模式下很多配置都是为了开发而定的,比如在Django开发模式中,不需要配置Apache或者Nginx等服务器,也能够运行网站,这是因为Django本身就提供了简单的Web服务器功能,但是这仅限于开发过程,当网站被正式部署之后,即转换为“生产模式时,就需要对部分配置进行修改。

在开发模式中,Django会自动检测到修改的代码并重新加载,不需要每次修改代码后重新启动Web服务器。只有在新增加文件后,才需要重启Django服务。

运行Django服务的指令是

python manage.py runserver
.2 项目和应用

Django安装好之后,就有了django-admin这个默认命令,可以用

django-admin startproject [project_name] 

命令创建一个Django项目。项目是由若干个“应用(app)”组成的,实现具体功能。创建应用可以使用命令

python manage.py startapp [app_name]

也可以使用命令

django-admin startapp [app_name]

创建了项目和应用(例如 mysite & blog)之后,会生成一些默认的文件,他们要么是一些默认的配置,如 settings.py ,要么是空文件,仅仅是为了占据一个位置而已,如应用里面的 views.py , models.py 等。

每个应用都要在项目的 settings.py 文件的 INSTALLED_APPS 中进行声明,告诉Django这个应用是本项目的一部分。

Django将很多默认的功能(比如用户管理功能)视为一个应用。此外,Django是一个开放的系统,任何人都可以开发第三方应用,这些第三方应用通常用于解决某个常见的问题,开发者在项目中使用第三方应用的主要目的就是节省时间、快速开发。这些第三方应用如果要在项目中使用,也要在 settings.py 的INSTALLED_APPS中注册后才能生效。

3.文档导读
  • Writing your first Django app2
  • 使用 Django 的网站 3
    -Django FAQ 4

1.2 编写博客的数据模型类

设计数据库和表结构是做网站的基础。在Django中,我们不需要使用SQL语句直接跟数据库打交道,而是完全用Python的方式创建数据模型,之后交给Django完成数据库的操作。

编写博客的数据模型类的基本知识如下图所示。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值