文档章节

简单的博客系统(一)Django基础知识

ZeroBit
 ZeroBit
发布于 07/02 14:38
字数 967
阅读 6
收藏 0

安装Django

安装Django

pip install Django

查看Django版本

PS C:\Users\zerobit> python
Python 3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> print(django.get_version())
2.2.3

创建项目

"项目"可以理解为一个网站

PS E:\PythonExercise\django> django-admin startproject mysite #创建项目
PS E:\PythonExercise\django> ls


    目录: E:\PythonExercise\django


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         2019/7/2     11:03                mysite

PS E:\PythonExercise\django> tree /F #查看项目目录结构
卷 Work 的文件夹 PATH 列表
卷序列号为 225A-6D42
E:.
└─mysite
    │  manage.py
    │
    └─mysite
            settings.py
            urls.py
            wsgi.py
            __init__.py

启动网站

进入网站目录并运行

PS E:\PythonExercise\django\mysite> python .\manage.py runserver  #启动网站
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
July 02, 2019 - 11:07:57
Django version 2.2.3, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/  #访问地址
Quit the server with CTRL-BREAK.

创建应用

网站要实现具体的功能,在Django中,这些具体的功能称为“应用”

PS E:\PythonExercise\django\mysite> python .\manage.py startapp blog #创建应用
或
PS E:\PythonExercise\django\mysite> django-admin startapp blog

PS E:\PythonExercise\django\mysite> ls


    目录: E:\PythonExercise\django\mysite


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         2019/7/2     11:11                blog
d-----         2019/7/2     11:07                mysite
-a----         2019/7/2     11:07              0 db.sqlite3
-a----         2019/7/2     11:06            647 manage.py

网站配置

配置文件目录说明

PS E:\PythonExercise\django\mysite> tree /F
卷 Work 的文件夹 PATH 列表
卷序列号为 225A-6D42
E:.
│  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-37.pyc
            urls.cpython-37.pyc
            wsgi.cpython-37.pyc
            __init__.cpython-37.pyc
  • manage.py:是对 django-admin.py的简单封闭,实现对项目进行命令行的操作
  • mysite:所建项目的管理功能目录,里面的文件常用于面向整个项目进行参数配置
    • settings.py:项目初始化设置,比如配置数据库、添加应用等
    • urls.py:URL配置表文件(即程序的路由系统),主要是将URL映射到应用程序上
    • wsgi.py:指定框架的wsgi
  • db.sqlite3:默认的数据库,如果没有配置数据库,则默认使用该数据库
  • blog:项目中所创建的应用之一,每创建一个新应用,就会在项目根目录创建一个子目录
    • admin.py:在这个文件中,可以自定义Django管理工具
    • apps.py:项目和应用关联起来的一个文件,无需修改
    • models.py:存放数据库模型的地方
    • migrations:这是一个目录,用于存储应用的数据库表结构的指令
    • test.py:在这个文件中可以编写测试文档来测试应用
    • views.py:用于保存响应各种请求的函数或类

网站配置(settings.py)

  • DEBUG:True或False。开发模式为True,生产环境为False
  • ALLOWED_HOSTS:当部署生产环境中,要把主域名填写到这里,才能通过域名访问到本网站
  • INSTALLED_APPS:项目中所有的应用只有写到这里才能生效
  • DATABASES:配置数据库
  • LANGUAGE_CODE:设置项目的语言 LANGUAGE_CODE = 'zh-hans' #设置为中文
  • TIME_ZONE:设置时区 TIME_ZONE = 'Asia/Shanghai'

将应用注册到项目中

修改 settings.py 文件的 INSTALLED_APPS

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog', #将之前所创建的应用名称新增到此处
]

知识点总结

项目和应用

  1. Django安装好后,就有了django-admin这个默认命令
  2. 创建一个Django项目:django-admin startproject <project_name>
  3. 启动Django项目:python manage.py runserver
  4. 项目是由若干个“应用(app)”组成,创建一个应用:django-admin startapp <app_name> 或 python manag.py startapp <app_name>
  5. 每个应用都要在项目的 settings.py 文件的 INSTALLED_APPS 中进行注册声明

© 著作权归作者所有

上一篇: Python3面向对象
下一篇: Python3文件的读写
ZeroBit

ZeroBit

粉丝 1
博文 63
码字总数 62103
作品 0
南宁
私信 提问
和lock一起学beego 博客系统开发为例(三)

mongodb: MongoDB(二):基础知识 Django学习笔记:为Model添加Action 和lock一起学beego 博客系统开发为例(三) 深入Go语言 - 1 django captcha imagintft: 关于captcha使用The _imagingft C ...

d_watson
2016/06/16
23
0
《Django企业开发实战》大纲-草稿

《Django企业开发实战》大纲-草稿 the5fire的技术博客2017-07-2016 阅读 在国内写技术书籍可能是件吃力不讨好的事情,弄不好还会被骂,所以大部分有能力写书的人,不想在这个上面花那么多时间...

the5fire的技术博客
2017/07/20
0
0
小司机带你学: Django+Xadmin打造在线教育平台[Python2&3通用 ](一)

大家好,我是一个学习Python一年多的小司机,去年在慕课网买了Django这门课仓促的学习完毕,时隔一年发现自己已经忘得差不多了。本次复习既是自己的学习笔记总结,也想与对Python有兴趣,对D...

天涯明月笙
2018/01/10
0
0
python资料全集

python: 微信公众号开发小记——2.80端口上的服务 python: 微信公众号开发小记——3.接入三方登录 使用python编写一个壁纸网站的简单爬虫 python: python List 用法 Python 中各个时间复杂度...

d_watson
2016/04/15
185
0
编程零基础应当如何开始学习 Python ?

提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦。 本篇通过以下四块展开,提供大量资源对应。 【选一个好版本 有没有看过《在...

崔斯特呀
2017/09/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

教你玩转Linux—添加批量用户

添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户...

xiangyunyan
18分钟前
3
0
返回提示信息,如:xxx创建成功!

【服务端】在输出的方法块中,加入要输出的字段(qcm_batch_id) QCMUserType.cs: public struct QCM_Custom_Create_Batch_Out_Tag { public BASCoreType.Cmn_Out_T......

_Somuns
18分钟前
3
0
Aliyun Serverless VSCode Extension v1.12.0 发布

Aliyun Serverless VSCode Extension 是阿里云 Serverless 产品 函数计算 Function Compute 的 VSCode 插件,该插件结合了函数计算 Fun 工具以及函数计算 SDK ,是一款 VSCode 图形化开发调试...

阿里云官方博客
18分钟前
4
0
程序员如何培养解决复杂问题的能力?

今天在上网时候,突然看到了这篇文章,感觉非常的适合现在的自己去思考下,可能也适用在座的读者。程序员不仅仅是敲代码,更是一个复合能力的结合体,也不仅仅停留在技术和代码阶段。你想要成...

哥本哈根的小哥
22分钟前
6
0
市场变化驱动产品思维升级

宜信科技中心财富管理产品部负责人Bob,与大家一起聊聊个性化推荐产品功能的设计和B端产品的功能策划方式。 拓展阅读:回归架构本质,重新理解微服务 智慧金融时代,大数据和AI如何为业务赋能...

宜信技术学院
22分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部