返回目录:理财保险
该项目是基于python的web类库django开发的一套web网站,因为试求的苦苦央求。 就给他做了一个简单版的搜索网站,实现了对数据库数据的检索和更新。
来看下截图展示:
开发过程
启动项目
django-admin startproject bt
创建应用
python3 manage.py startapp app
model设计
主要是对提交的链接进行设计,在此项目中,我们需要展示链接的名称、url、联系人、链接简介等字段。
设计字段如下:
业务编写
本项目一共分为4个页面,分别是首页、搜索列表页、详情页、链接提交页。
我们一一讲解
首页
首先是首页,它的模版位于templates/app/index.html 它主要是用来展示首页内容, 并提交搜索词,到搜索接口,所有的接口都位于app/urls.py里面,如下:
我们设置首页的路由为IndexView, 开始编写IndexView的代码。它的代码非常简单:
仅仅是展示了首页页面,首页将搜索词交给了search来处理,这一点,我们从index.html关于form的代码中可以看到, 提交给了url 'app:search'
列表展示页
从urls.py中可知,app:search指向了SearchView,这个类是本项目的核心代码,它实现了搜索的全过程。
继承了ListView通用类,通过get_queryset()回调函数来实现搜索功能,并通过get_context_data来传递额外的数据给前端。即是列表展示页。
详情页
我们再来开发详情页,从urls.py中看到,详情页是由DetailView来实现的,我们来窥探它的全貌:
它很简单,继承了DetailView通用模板类来显示详情。
链接提交页
最后再来看一下链接提交页,它是由CommitView来实现的。同样是观看代码:
它是继承自CreateView,因为是创建操作嘛,在post中,我们通过ratelimit来限制提交次数。
运行项目
python3 manage.py runserver
项目部署过程
系统要求:ubuntu 16.04(或以上)
环境搭建和配置,必须严格按照以下步骤来安装部署!
安装部分
安装nginx
sudo apt install nginx
安装python3和pip3
sudo apt install python3
sudo apt install python3-pip
安装mysql
sudo apt install mysql-server
配置部分
配置mysql(/etc/mysql/my.cnf)
启动mysql
/etc/init.d/mysql start
创建数据库
拉取代码到/var/www/下面
sudo git clone https://github.com/geeeeeeeek/bt.git
配置setting.py,有两点需要配置:数据库和域名。
配置数据库
域名配置(将你自己的域名写入到ALLOWED_HOSTS)
ALLOWED_HOSTS = ['bt.mypython.me','xxx.com']
导入表结构
python3 manage.py makemigrations
python3 manage.py migrate
创建超级用户
python3 manage.py createsuperuser
运行配置(配置位于bt/uwsgi.ini)
uwsgi --ini uwsgi.ini
配置nginx, 在/etc/nginx/sites-enabled下新建bt.conf,写入:
运行nginx
sudo service nginx start
大功告成!看个妹子舒缓一下,当然详细代码私信我“种子”即可获取~