文章目录
1介绍
Django服务器里有三个,服务器服务的软件就是Nginx。我们发出信息后,会到Django中解析,通过Model读写数据库,最后生成一个template进行渲染。
环境准备
这里我会尝试用vscode和python 3.7 环境在anaconda中安装
2开始任务
在新建的django(名字可随意空的就好)中通过控制台输入
django-admin startproject mainproject
cd mainproject/
可以看到生成的目录
此时再输入
python manage.py startapp firstWEB
新建完如下,新建一个templates空文件夹
在下图中如果你希望内网访问,第一个框填这些,不然就空
第二个加入你刚刚写的app的名字
数据库,django还没正式运行,第一次运行就会创建
用户密码验证的部分
这里修改语言和时区,最下面有放静态文件的地址
2.1问题manage.py-file does not exist
然后运行manage.py一直报错
在这里发现launch.josh定位到了Django文件夹却没有到我们实际的main.project文件夹,这主要是vscode打开文件夹位置错了,应该打开mainproject,同时用命令行该是没有用的
改完后运行效果如下
打开上面网址
http://127.0.0.1:8000/
即可登入
3做第一个网站
1首先修改url,其中第一个参数使你访问地址,第二个是你要调用的映射view里的文件
2在views里写功能
这是调用html渲染到前端浏览器
3写完的功能需要调用
在urls.py中
在这里实验成功
但是如果像之前一样到这个页面就失败了
在vscode中也有如图的文本,没访问一次就增加一条,这就是所谓的log
将path改为空,则会主页面就显示index
4做加减乘除的页面
和之前相似在views中创建Calpage
创建html
在url中添加路径
演示结果
做的有点差修改下html文件
添加一个函数来做具体计算的功能,在这里也要渲染出一个界面
所以还要再建一个result.html,在后台做好数据后,渲染模板时候顺手把context返回给result模板
建立一个路由
这里action后需要也加/
Django中有个设定防止你跨域来请求,比如我做了一个爬虫,我直接向form的action请求,如果python做个脚本大量发送,数据库就被发爆了。这里需要一个验证{% csrf_token %}
全部改好后效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200219224551658.png
5数据库
我们每张表要做个类继承model。cal是第一张表 。
给vscode安装插件,这里安装
然后会出来数据库页面,我们可以加数据库了
这里有些做不下去了sql一直失败,说我缺少npm,发现要先装node.js然后下载一个包然后就可以用这个插件读取数据库了
首先在命令行中输入python manage.py makmigration
效果
在输入python manage.py migrate
可以查看数据库
要保存数据到数据库先修改views,在这里要调用models.py在sys的下级文件,同时要有下图保存数据库的文件
此时重启观看
6打印数据库存放页面
1建立list.html页面
2建立views函数
3建立路由
运行进入list页面
清库功能
1先添加清库按键
2写控制,在这里做个简便快速的,用了HttpResponse功能
3写路由
在这里运行效果
如果直接通过url访问计算结果的异常处理
如此情况我们不需要,因此,在post访问时出结果,不然的话给通知