基于Django快速构建Web项目

基于Django快速构建Web项目

本章主要记录怎么用Django快速构建一个web项目,所有的内容也是本人亲自构建,整个项目完美运行。
项目地址见:https://github.com/blacksider/django-startup

1. 环境准备

  • 开发环境:
操作系统:Windows10 x64
python版本:3.7
VisualStudio版本:VS2017 Community
IDE: PyCharm 2017.1.2

2. 项目说明

项目搭建的方案选择前后端分离的构建方式,后端使用djangorestframework,前端使用Angular6

3. 搭建后台

  • 准备依赖环境
pip3 install django
  • 设置项目,执行 ‘django-admin startproject server .’,创建一个启动项目,执行后文件结构类似于:
...
server/
	__init__.py
	settings.py
	urls.py
	wsgi.py
manage.py
  • 此命令为 django 内置的命令,可以帮助开发者快速构建一个启动项目;
  • 注意命令行后面的 ‘.’,表示在当前目录下创建项目,否则会生成一个结构 ‘server/server/’;
  • 现在可以直接启动项目,测试项目是否可以运行,执行 ‘python manage.py runserver’,可以看到控制台中弹出了如下的信息:
Performing system checks...

System check identified no issues (0 silenced).

You have 15 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.
October 15, 2018 - 11:08:12
Django version 2.1.1, using settings 'server.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
  • 现在访问地址 ‘http://127.0.0.1:8000/’ ,可以看到django的默认启动页面了。
  • 但是可以看到控制台信息中有一行提醒 ‘You have 15 unapplied migration(s)’,这是因为 django 本身内嵌了很多关于用户和权限的数据结构,并且 django 默认使用的数据库为 sqlite3,所以它会尝试初始化相关的 Model ,根据提示,先删除掉刚才启动时创建的文件 db.sqlite3,执行 ‘python manage.py migrate’,可以看到重新生成了一个 db.sqlite3 文件,通过 PyCharm 的 Database 视图连接此文件,可以看到项目中创建如下表:
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
sqlite_master
sqlite_sequence
  • 这些即是 django 本身需要的数据库表了,再次执行 ‘python manage.py runserver’,可以看到提醒 migration 的信息消失。
  • 现在,已经拥有一个可以运行的后端项目了,下面需要将数据库替换为其他数据库,这里使用 postgresql 作为此项目的数据库;
  • 首先,删除掉刚才生成的 db.sqlite3 文件,然后打开文件 server/settings.py ,找到 DATABASES 配置项,这里默认的内容如下:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
  • 现在,需要将其替换为 postgresql 的配置,修改为:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'testdb',
        'USER': 'testdbuser',
        'PASSWORD': 'test',
        'HOST': 'localhost',
        'PORT': '',
    }
}
  • 在 postgresql 中创建对应的数据库和用户信息后,执行 migration 操作 ‘python manage.py migrate’,然后再启动项目,确定项目无异常。
  • 现在我们可以创建一个默认的超级用户,使用如下的命令
python manage.py createsuperuser --email [email protected] --username admin
  • 这里我们创建一个用户名密码均为 admin 的用户,打开文件 server/urls.py,可以看到如下内容:
urlpatterns = [
    path('admin/', admin.site.urls),
]
  • 此处的配置为 django 的一个内置的页面链接,可以自行查看一下该内容,该链接会打开一个默认的admin登录页面,可以
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值