创建博客应用

创建Django项目

(env)$:django-admin startproject blog

创建一个Django项目,名字叫blog

(env)$:ls
blog        env

进入blog目录

(env)$:cd blog

当前目录会新建一个blog文件夹,结构如下

blog/
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
  • __init__.py:将目录变成一个python的模块;
  • settings.py:指定django与系统和项目管理交互的配置文件,在开发中会不断的修改;
  • urls.py:指定django如何相应浏览器请求;
  • wsgi.py:是web server gateway interface(web服务器网关接口)首字母缩写。

Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。


创建数据库

django项目的大部分信息都要存储在数据库中,因此我们要创建数据库,命令如下:

(env)$:python manager.py migrate
Operations to perform:
 ① Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying sessions.0001_initial... OK

首次执行migrate命令,将确保django与项目当前状态匹配。在①处创建django所必要的数据库表。

(env)$: ls
blog        db.sqlite3  manage.py

运行ls命令,django又创建了一个db.sqlite3文件,这是一个数据库文件,sqlite是一个文件的简单数据库,它不需要配置,是简单应用的最佳选择。

SQLite 是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程序库中。与许多其它数据库管理系统不同,SQLite不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。


开发服务器

执行下列命令:

(env)$: python manage.py runserver
Performing system checks...

① System check identified no issues (0 silenced).
② Django version 1.11.4, using settings 'blog.settings'
③ Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

在①处django检测项目没有问题;②处显示django版本为1.11.4以及配置文件blog.settings;③处显示测试服务器地址。
打开浏览器输入地址http://127.0.0.1:8000/,出现如下的界面表示程序正常运行。
这里写图片描述


创建博客应用(App)

在django中一个项目是特定网站的配置和应用程序的集合。应用程序类似于Blog应用、问答应用或者投票应用等。一个项目可以有多个应用程序,一个应用程序可以被多个项目使用。

(env)$:python manage.py startapp blogpost
(env)$: ls
blog        blogpost    db.sqlite3  manage.py

manage.py startapp命令将创建一个django应用程序所必须的文件

blogpost目录如下

blogpost
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py

migrations 包含对模型定义与修改的迁移记录;
admin.py 是对 Django 站点管理的定制;
apps.py 包含对 App 的配置;
models.py 是对模型的定义;
tests.py 包含单元测试;
views.py 提供各种视图函数。
最后在blog目录下的setting.py文件中将App注册到项目中。

# Application definition
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 注册App 
    'blogpost',
]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值