努力与运动兼备~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!
微信公众号: 啃饼思录
QQ: 2810706745(啃饼小白)
本篇笔记主要是简易留言簿的基础开发,接下来的一篇才是开发的重点,但是这样为了缓冲一下大家,希望大家不要有大大的鸭梨。。。笔记中上篇(第三篇)对应上传的仓库为:https://github.com/licheetools/djangoTest对应第三篇截止代码。我们从这开始正式进入到简易留言簿的基础开发。(前面的必要工作已经做完,如果没跟上节奏,请回头补上,这里就不细说了。)
这个页面就是我们即将开发的简易留言簿,初始页面就是这样,关于这个页面的实现是html和css搭建的,这是前端的部分,有兴趣的小伙伴自己去查找资料学习一下,这里因为只讲后端,就不介绍了哈。
这里主要是介绍Django从请求到响应的整个完整流程,为我们后面开发在线教育平台打下基础。本篇笔记所要用到的静态html页面请前往Github下载:start.html
用户填写信息和留言 --> 点击提交 -->数据被存储到数据库(我们可以去数据库查询的到)。
2、通过观察我们发现,这个页面里面把所需的css样式都写进去了,不利于我们对其样式的个性化管理,所以我打算新建一个css文件,用于存放css样式表单。
也就是说默认的连接是这样的:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
但我们应当修改成这个样子:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangoTest',
'USER': 'root',
'PASSWORD': '密码',
'HOST': "127.0.0.1"
}
}
我们中在Navicat中新建的数据库名字与其中的NAME的名称应设置为一致,否则会出错!!
上面的错误提示我们没有安装MySQLdb模块,既然出了问题,我们就解决问题。
点击4中的绿色+号,就可以搜索第三方库,然后点击install即可,是不是很简单,但有时候会出现安装失败的情况,所以最好的方法是去其官方网站下载包,然后在本地安装即可。这里开启传送大门,(https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python),点击这个网站,然后按住Ctrl+F
键,调出搜索框,在里面输入mysqlclient,然后回车即可,因为我的电脑是64位,所以下载64位的。
上面的cp36代表Python3.6的版本,cp37代表Python3.7 的版本!
注意安装的命令是:pip install mysqlclient-1.3.13-cp36-cp36m-win_amd64.whl
(后面的是你刚才下载的版本名称,带whl)
10、现在介绍一下我们前面讲到用于数据迁移的两个命令:makemigrations和
migrate,下面我们分别运行这两个命令,看有什么大的变化。
这些都是Django系统默认的内置数据表,我们在后面会用到它们。
最后结果如下:
你可能会问,为什么显示的不是留言这个页面,而是原始页面呢?那是因为我们还没有配置app的信息,下面开始配置。
12、将djangoTest/urls.py修改如下:
urlpatterns = [
path('admin/', admin.site.urls),
path('start/', getstart), # 新增加的一行
]
这里新增加path('start/', getstart),是代表以start为开头的地址。getstart 是这个url相对应连接(映射)的view。我们先去创建一个视图函数,其名字就是getstart。
13、在apps/liuyan/views.py添加如下代码:
def getstart(request):
return render(request, 'start.html')
一般来说,render函数,我常用的就是它的2个参数:request和template-name。上图中start.html就是我们的原始页面名称。
也就是12步中的urls.py,增加一行包的引入:
from liuyan.views import getstart
变成了这个样子:
其实并没有报错,只是因为我们在path中加入了自己的配置'start/',它就不会采用默认配置了,所以我们的IP地址应该是:http://127.0.0.1:8000/start/。你点进去看看:
现在页面出来了但是样式却没有加载成功,也就是说static/css/style.css文件没有找到。那是因为setting.py中静态文件的配置出了问题,第124行代码需要修改。
它只说明了目录的名称,并没有指明查找的根路径,所以需要添加下面代码:
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
16、我们再次运行一下:runserver。如果你前面没有按ctrl+v停止,那你只需要ctrl+s 即可重新刷新运行。最后运行结果如下:
成功了,这就是今天最基本的页面信息配置了,把页面动态加载出来了。下一篇笔记将给这个动态的留言板加交互特效了。
不过很多小伙伴说,自己看的是云里雾里,对这个过程不熟悉,自己没有接触过MVC、MVVC等网页设计模式,所以我总结一下这个项目的配置流程。
1、把html文件导入进来;
2、通过简单的url配置来访问这个html;
3、发现找不到页面,所以我们就设置setting中DIRS路径;
4、页面可以正常显示,但css样式不能正常加载,我们设置了STATICFILES_DIRS;
。。。这样一步的,我们发现经常遇到错误,其实我们是从倒的顺序来执行的,目的就是让大家能通过很多的错误来加深自己对Django开发流程的熟悉程度。
看到没有,这样做的好处就是避免少犯错误。你可以尝试以顺的顺序来创建一个新的项目,试着体会一下这2种开发顺序的感觉。
后面我们的开发会从migration生成数据表这里开始往下编辑内容。本篇笔记中对应上传的仓库为:https://github.com/licheetools/djangoTest对应第四篇截止代码。
至此,简易静态留言簿的基础开发就到这里了,感谢你的赏阅。下一篇将实现留言簿的交互功能。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。