《跟老齐学python Django实战 》笔记

安装

Django是以Python为语言环境的,所以要先确保计算机上已经安装了Python。

Linux

ubuntu:

sudo pip install Django==1.11.7

安装中指定了版本,可以修改版本号,或者不指定将安装软件源中已有的版本。

安装完成后,可以进入到Python交互模式中查看版本:

>>> import django
>>> print(django.get_version())
1.11.7

上面是简单而常用的方法,除了这种方法,还可以下载Django的源码进行安装:

git clone https://github.com/django/django.git

此时会在当前目录中看到一个名为django的目录,里面是最新版本的Django,随后在当前目录下执行如下操作:

sudo pip install -e ./django

系统会提示Django已经安装成功的信息:"Successfully installed Django"。

Windows

在cmd中执行:

pip install django==1.11.7

创建项目

方法一:

λ django-admin startproject mysite
λ tree /f
D:.
└─mysite
    │  manage.py
    │
    └─mysite
            settings.py
            urls.py
            wsgi.py
            __init__.py

方法二,在项目名称mysite后面有一个空格,然后还有一个句号(英文半角句号),如此也可以创建项目,只不过是在当前文件夹下创建。

λ django-admin startproject mysite .
λ tree /f
D:.
│  manage.py
│
└─mysite
        settings.py
        urls.py
        wsgi.py
        __init__.py

启动服务

进入与manage.py同目录下执行:

 python manage.py runserver

会看到如下信息:

Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

此时再浏览器中输入http://127.0.0.1:8000/ 或者http://localhost:8000/,就会看到如下图所示的结果。

创建应用

项目已经创建好了,网站也有了,接下来要实现网站的具体功能,在Django中,人们把这些具体的功能称之为‘‘应用‘‘(application)。

λ python manage.py startapp blog
λ tree /f
D:.
│  db.sqlite3
│  manage.py
│
├─blog
│  │  admin.py
│  │  apps.py
│  │  models.py
│  │  tests.py
│  │  views.py
│  │  __init__.py
│  │
│  └─migrations
│          __init__.py
│
└─mysite
    │  settings.py
    │  urls.py
    │  wsgi.py
    │  __init__.py
    │
    └─__pycache__
            settings.cpython-36.pyc
            urls.cpython-36.pyc
            wsgi.cpython-36.pyc
            __init__.cpython-36.pyc

下面对生成的文件进行简要说明

Django的任务管理命令行工具 django-admin.py

λ django-admin                                                                             

Type ‘django-admin help <subcommand>‘ for help on a specific subcommand.                   

Available subcommands:                                                                     

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    runserver
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver

查看帮助信息:

D:\lcg\mysite
λ django-admin help startapp
usage: django-admin startapp [-h] [--version] [-v {0,1,2,3}]
                             [--settings SETTINGS] [--pythonpath PYTHONPATH]
                             [--traceback] [--no-color] [--template TEMPLATE]
                             [--extension EXTENSIONS] [--name FILES]
                             name [directory]                                            

Creates a Django app directory structure for the given app name in the current
directory or optionally in the given directory.                                          

positional arguments:
  name                  Name of the application or project.
  directory             Optional destination directory                                   

optional arguments:
  -h, --help            show this help message and exit
  --version             show program‘s version number and exit
  -v {0,1,2,3}, --verbosity {0,1,2,3}
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose output
  --settings SETTINGS   The Python path to a settings module, e.g.
                        "myproject.settings.main". If this isn‘t provided, the
                        DJANGO_SETTINGS_MODULE environment variable will be
                        used.
  --pythonpath PYTHONPATH
                        A directory to add to the Python path, e.g.
                        "/home/djangoprojects/myproject".
  --traceback           Raise on CommandError exceptions
  --no-color            Don‘t colorize the command output.
  --template TEMPLATE   The path or URL to load the template from.
  --extension EXTENSIONS, -e EXTENSIONS
                        The file extension(s) to render (default: "py").
                        Separate multiple extensions with commas, or use -e
                        multiple times.
  --name FILES, -n FILES
                        The file name(s) to render. Separate multiple
                        extensions with commas, or use -n multiple times.

manage.py

D:\lcg\mysite
λ python manage.py

Type ‘manage.py help <subcommand>‘ for help on a specific subcommand.

Available subcommands:

[auth]
    changepassword
    createsuperuser

[contenttypes]
    remove_stale_contenttypes

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver

[sessions]
    clearsessions

[staticfiles]
    collectstatic
    findstatic
    runserver

与django-admin进行对比,发现代码有一部分相同,同时manage.py还有自己的特点。

django-admin命令对应着django-admin.py文件,她在Django安装后保存在Django安装目录下。(windows的C:\Python36\Scripts,linux的/bin)

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

可以说manage.py是对django-admin的简单封装。

关于两者的更多辨析,请参阅官方文档:https://docs.djangoproject.com/en/1.11/ref/django-admin/

mysite

mysite是所建项目的管理功能目录,这个目录的名称因用户所创建的项目名称的不同而异,它里面的几个文件常用于向整个项目进行参数配置。

  • settings.py:这个文件中包含了项目的初始化设置,可以针对整个项目进行有关参数的配置,比如配置数据库、添加应用等。
  • urls.py:这是一个URL配置表文件,主要将URL映射到应用程序上,当用户请求某个URL时,Django项目会根据这个文件中的映射关系指向某个目标对象,该对象可以是某个应用的urls.py也可以是某个具体的视图函数。在Django中,这个文件也被称之为URLconf,这是Django非常强大的一个特性。
  • wsgi.py:WSGI是Web Server Gateway Interface的缩写。WSGI是Python所选择的服务器和应用标准,Django也会使用。wsgi.py文件定义了我们所创建的项目都是WSGI应用。有关于WSGI的更多知识请参阅官方文档:https://wsgi.readthedocs.io/en/latest/index.html
  • __pycache__:启动服务,浏览项目的时候产生的。不浏览就不会产生,只有网站运行后它才会出现,它其就是编译后的一个文件夹。里面都是以.pyc结尾的文件。

blog

blog是项目中所创建的项目之一,用创建项目的指令还可以创建很多其他的应用,每创建一个应用,Django都会在项目的根目录中创建一个子目录,并且目录中会有以下默认的文件:

时间: 2024-08-28 01:20:05

《跟老齐学python Django实战 》笔记的相关文章

SQL 笔记 By 华仔

-------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据库的大小的方法 笔记3-徐 设置数据库自动增长注意要点 笔记4-徐 模仿灾难发生时还原adventurework数据库 示例 stopat 笔记5-徐 检查日志文件不能被截断的原因 笔记6-徐 检测孤立用户并恢复孤立用户到新的服务器 解决数据库镜像孤立用户问题 笔记7-徐 SQLSERVER日志记录

SQL笔记---多表左联

这是实际场景当中的一个例子,拿出来分析总结思路. -- SQL 查询 --SELECT  orderQuery.Rk_SkuCode ,        orderQuery.SkuName,        SUM(ISNULL(orderQuery.OrderTotal, 0))        - SUM(ISNULL(removeQuery.RemoveTotal, 0))        - SUM(ISNULL(pickQuery.PickTotal, 0))        - SUM(IS

SQL笔记---分页

随用随想,随用随记. 通过实际应用掌握SQL语句. 一. SQL分页 1. 第一种方法:利用ID大于多少进行筛选 SELECT TOP 20        *FROM    dbo.WMS_StockWHERE   ( Rk_SkuCode > ( SELECT MAX(Rk_SkuCode)                         FROM   ( SELECT TOP 40                                            *           

《HeadFirst SQL》笔记

规范化 0 约束 1 原子性 2 第一范式 1NF 3 数据模式 4 依赖 5 联接查询 6 交叉联接(AKA 笛卡尔联接,叉积) 7 内联接 8 子查询 9 外联接 10 自联接 11 集合 12 事务 13 ACID 14 管理事务 15 常用语句 16 注意 17 规范化 约束 NOT NULL UNIQUE PRIMARY KEY DEFAULT FOREIGN KEY:引用父表的某个唯一值引用完整性:插入外键列的值必须已经存在于父表的来源列中 --创建外键 create table i

SQL笔记1:SELECT及SELECT高级应用

T-SQL笔记1:SELECT及SELECT高级应用 本章摘要 1:安装AdventureWorks 2:基本运算符和表达式 3:between 4:like 5:escape 6:TOP 7:GROUP BY 7.1:GROUP BY ALL 7.2:HAVING 8:SELECT字句技术 8.1:使用DISTINCT消除重复值 8.2:返回拼接的结果 8.3使用INTO字句 9:子查询 9.1:子查询类型 9.2:代替表达式的查询 9.3:多层嵌套 10:比较使用 EXISTS 和 IN 的

金典 SQL笔记(6)

page223-索引 --利用SQL 语句创建索引 --CREATE INDEX 索引名称on 表名(字段 ,字段, 字段字段n) --索引名称必须为唯一的,字段 ,字段, 同意一个到多个 --范例为T_person 表中给FName创建索引索引名为 idx_person_name CREATE INDEX idx_person_name ON T_Person (FName) --删除索引 --drop index 表名索引名 DROP INDEX T_person.idx_person_na

Mybatis 项目开发实际常用SQL笔记总结

parameterType 和 resultType parameterType:单个参数用String,多个参数用map resultType:   可以是 Integer.String.Object    <select id="countGroupMasterByUid" parameterType="String" resultType="Integer">      SELECT              COUNT(id)

sql笔记/分页存储过程

[email protected]c#中进行++操作可以是整数或小数,sql中只能对整数进行++操作.char类型 适合存储长度波动较小不回收效率高varchar 类型 适合存储长度波动较大可以回收nchar代表unicode 存储内容包括汉字时候考虑加n SQL语句特点1不区分大小写2没有双引号所有字符串都包含在单引号3没有逻辑相等,逻辑相等和赋值一样都是用=4没有bool值得概念,但是在视图中可以输入true/false5也有关系运算符.6也有逻辑运算符 &&-- and || --o

sql笔记

1. 看下面sql,重点有两个,一个是distinct  ,一个是树形结构查询 select DISTINCT t.unit_code from t_unit_relation t where t.corp_tn='jiaozhougongan' start with t.unit_code='0001' connect by prior t.unit_code = t.unit_upcode 分析: ① distinct:去重复值 ② 树形结构查询,这个博客:http://www.cnblog

HeadFirst SQL 读书摘要

数据库都是用 圆柱形表示的. 数据库中包含表 表中包含行和列 行又叫记录record,  列又叫 字段field 创建数据库 create database mypipe_l; 选择数据库 use mypipe_l; 创建表 create table doughnut( name VARCHAR(10), type VARCHAR(6) ); 查看表 desc doughnut; 删除表 drop table doughnut; 插入数据 insert into doughnut (name,