Django开发个人博客网站——5、创建第一个app

1、创建app

django中的一个app就是一个小的项目,我们通过startapp命令即可创建。可以进入虚拟环境myblog中执行:

python manage.py startapp myblog

也可以直接在pycharm中的Tools下的run manage.py task下直接执行命令:

startapp myblog

这样就可以创建出一个根目录下的名为myblog的app了。然后,我们将其加入到setting.py中的INSTALLED_APPS中,如下:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myblog',    #新建立的app
]

2、迁移数据库

Tools下的run manage.py task下依次直接执行命令:

makemigrations

migrate

当我们执行了 makemigrations 后,Django 在 myblog 应用的 migrations\ 目录下生成了一个 0001_initial.py 文件,这个文件是 Django 用来记录我们对模型做了哪些修改的文件。

不过此时还只是告诉了 Django 我们做了哪些改变,为了让 Django 真正地为我们创建数据库表,接下来又执行了migrate 命令。Django 通过检测应用中 migrations\ 目录下的文件,得知我们对数据库做了哪些操作,然后它把这些操作翻译成数据库操作语言,从而把这些操作作用于真正的数据库。

经过这两项操作后,我们打开navicat中的myblog数据库表单,发现多了如下表单,这些表单为Django 自身还内置的很多应用,这些应用本身也是需要存储数据的。

auth_group, 
auth_group_permissions, 
auth_permission, 
auth_user, 
auth_user_groups, 
auth_user_user_permissions, 
django_admin_log, 
django_content_type, 
django_migrations, 
django_session

我们在执行迁移数据库的操作时,发现会弹出如下警告:

WARNINGS:
?: (1_8.W001) The standalone TEMPLATE_* settings were deprecated in Django 1.8 and the TEMPLATES dictionary takes precedence. You must put the values of the following settings into your default TEMPLATES dict: TEMPLATE_DIRS.

这是因为django版本的问题产生的,解决方法按照提示操作,打开setting.py,将如下语句删掉:

TEMPLATE_DIRS = (os.path.join(BASE_DIR,  'templates'),)

并将templates的位置添加到TEMPLATE中:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,  'templates'),],
        ...

即可。

——————————————————————————————————————————

项目的完整代码:django_blog
觉得有用的欢迎给个star。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值