Django是一个Python的基础web框架,它可以让你在很短的时间内创建一个web应用,在本教程中,我们将通过创建一个博客应用来探究django。
安装必须的环境
在正式创建项目之前,有几个必须的包需要安装。作为一个web应用。我们需要安装编程语言(Python),数据库(这里我们使用sqlite)和一个服务器(django内置了开发者服务器)。
同样,我们也需要编辑器,比如Pycharm,或者其他的代码编辑器。在本教程中,我们使用VS code,至于使用的原因则很简单,因为它免费。
下载Python | Python.org
下载 PyCharm
下载 VS Code
创建新项目
在创建新项目之前,我们首先要安装django依赖。在命令行执行以下代码:
代码语言:javascript复制python -m pip install Django
根据你的操作系统,如果你是苹果系统,默认的为python2,你需要把python改为python3,如果是windows,则不需要修改。
现在,我们将用django-admin命令创建一个新的Django项目,首先我们要进入你要创建项目的文件夹。然后执行:
代码语言:javascript复制django-admin startproject example
启动项目
现在,就可以启动服务器去测试一下了。打开终端(terminal).并且在命令行执行:
代码语言:javascript复制cd example
python manage.py runserver
运行完毕后,你应该可以在命令行看到下方输出:
代码语言:javascript复制Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
October 09, 2020 - 15:50:53
Django version 3.1, using settings 'myproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
打开浏览器,然后进入:http://127.0.0.1:8000/
编辑切换为居中
添加图片注释,不超过 140 字(可选)
创建博客应用
现在,我们的项目是空的,什么都没有,django允许在同一个项目中创建多个app,例如,我们可以创建 “blog”, “gallery” 和 “forum” 三个app,在同一个项目中,这些app共享静态资源(css,js,图片等)。如果你需要,app之间也可以相互引用依赖。
在本次博客中,我们将创建blog app,在终端中,执行:
代码语言:javascript复制python manage.py startapp blog
再次提醒:如果不能正确执行。请把python指向python3
执行命令结束之后,你可以看到有一个新的blog 名称的文件夹出现在了项目中。现在我们需要在django中注册该app。打开settings.py文件并且找到INSTALLED_APPS:
代码语言:javascript复制INSTALLED_APPS = [
'blog',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
项目结构
编辑
添加图片注释,不超过 140 字(可选)
根目录文件夹
- manage.py:是一个django自带的命令文件,你可以通过他执行各种django命令。
项目文件夹
- example/__init__.py: 这是一个空文件,他的目的就是告诉你这个文件夹是一个python包
- example/settings.py: 跟名字一样,它是Django的配置文件
- example/urls.py: 这是django的url声明。我们将在下篇文章中讨论。App目录 blog/migrations: 这是django的数据库迁移文件目录,是由django自动生成的。
- blog/admin.py: Django是由自己的后台管理系统的,你可以在该文件中配置。
- blog/models.py: 该文件描述了数据库的结构与关系,迁移文件就是基于它生成的
- blog/views.py: 该文件是用来写核心逻辑的。
项目配置
在进行下一步之前,我们首先要对项目在settings.py文件进行配置。
数据库
DATABASES 是用来设置数据库的,Django默认配置了sqlite数据库,它是一个轻量级数据库,只有一个文件。对于我们小型项目足够了。但它不适用于大型站点。如果你想用其他数据库,你可以按下方进行配置:
代码语言:javascript复制DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
静态文件
然后我们需要配置一下静态文件
首先,我们需要指定这些文件的存储位置。对于我们的 Django 站点,我们将static在blog应用程序中创建一个文件夹。这是我们blog在开发过程中为应用程序存储静态文件的地方
编辑
添加图片注释,不超过 140 字(可选)
然后我们需要把文件夹写入settings.py中。
代码语言:javascript复制STATIC_URL = '/static/'
多媒体文件
同样创建一个mdeia文件。在settings.py中进行配置:
代码语言:javascript复制MEDIA_URL = '/media/'
本博客到此结束,在下一篇文章中,我们将继续讨论url声明!