Django 快速搭建

一、安装Django包

打开Anaconda Prompt,使用pip安装Django包

pip install Django

二、创建Django项目

打开Intellij Idea,创建Django项目,在新建项目的时候选择已经创建好的python环境(我这里直接只想Anaconda已经配置好的py环境目录),Application Name可以空,后续再创建

a4be53263bdee6fdf2e2e6718900b33d8ad.jpg

这里创建一个名为:IntellijPythonTest项目

4d56cf95a99eb8affc95076027baff11b40.jpg

接着打开左下角,Terminal命令行模式,键入以下命令,创建app,完成后,刷新一下目录,就可以看到app的简易目录

python manage.py startapp app名称
栗子:python manage.py startapp blog

62434143fa087c8ecb2a7b570a4b4b28a60.jpg

然后我们执行以下两行命令,生存sqlite数据库和启动服务器运行该项目

# 更新数据库操作,如果没有会生存db.sqlite3数据库文件
python manage.py migrate
# 启动服务器,端口8000
python manage.py runserver localhost:8000

62929ed62b6dc84f49ae8f3ea60a9192ac9.jpg

打开浏览器,即可看到默认首页

217ad0ecf0ca0f675e9f1df36d2417aac4e.jpg

三、关于 TypeError: view must be a callable or a list/tuple in the case of include() 错误解决方案

当前Django版本为:2.2.3

因为Django 1.10版本以后,不允许在URL模式中将视图指定为字符串,因此需要将视图引入到文件中,如下代码栗子:

from blog import views as blog

url(r'^blog/$', blog.hello, name='blog'),

a4144d3178d802cdb31c1fae03a3898378d.jpg

四、models 实体对象层

在models.py里面建立相应的实体对象后,采用makemigration命令,执行模型创建同步到migrate操作上,然后再执行migrate命令,更新数据库操作

# 执行模型创建并同步到migrate操作上
python manage.py makemigrations
# 同步模型到数据库的操作,更新数据库(Django 1.9以后,migrate命令代替syncdb)
python manage.py migrate

40ca4a70904a2a6b587aed6ba07cbb22775.jpg

在admin.py中注册模型,这样我们在后面就可以在自带的后台管理中看到这个对应的模型对象信息并使用它,这里就提前先说了,或者在第7步管理页面中你没有看到blog模块时,再回来写

15f48908b6349e8f63072d8e7a306e1f93d.jpg

五、关于 TypeError: __init__() missing 1 required positional argument: 'on_delete' 错误解决方案

在声明实体对象外键关系的时候报错,以下是变更写法问题,Django2.0版本以后,定义外键关系的时候需要加on_delete选项

author = models.ForeignKey(Author)
变更为
author = models.ForeignKey(Author, on_delete=models.CASCADE)

on_delete有CASCADE、PROTECT、SET_NULL、SET_DEFAULT、SET()五个可选择的值

  • CASCADE:此值设置,是级联删除
  • PROTECT:此值设置,是会报完整性错误
  • SET_NULL:此值设置,会把外键设置为null,前提是允许为null
  • SET_DEFAULT:此值设置,会把设置为外键的默认值
  • SET():此值设置,会调用外面的值,可以是一个函数

六、sqlite3基本操作

在terminal中键入以下命令,可以对生成的sqlite数据库进行操作

# 进入数据库并显示版本号信息
# 示例:
sqlite3 数据库名称.sqlite3
# 本栗子:
sqlite3 db.sqlite3

# sqlite> 显示已经进入到sqlite数据库命令行模式
# 显示数据库中已经创建的表
.tables

# 退出sqlite命令行
.exit

d25bfed1c0d1d983dac2ec52f6e51fc9404.jpg

七、后台管理(创建超级管理员、创建测试数据)

回到terminal中,开始创建超级管理员账号,输入以下命令,依次输入信息完成创建

python manage.py createsuperuser

00a967975b434469b56f90b4198dce3ad52.jpg

记得如果urls.py中,已经注释掉admin默认的链接跳转要放开注释,然后重启服务器,通过以下地址进入后台管理页面

http://localhost:8000/admin

64a708d1fdae254b427c9278904ad4a68e5.jpg

我们可以看到之前在代码中创建的Article和Authors模型对象,Django可以在这个简易的后台封装好了一系列数据库操作,我们可以通过Add等操作直接对sqlite数据库添加数据

a48504431d10003a2f5ff821410e0481093.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/discussjava/blog/3069537

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值