【Django】总结用Django框架搭建表白网站

前言

2020.2.14是情人节,2020.2.13花了整整一晚搭表白网站,由于第一次用Django框架,遇到很多坑,在此记录

搭建Django框架的网站需要哪些东西

一台云服务器(如阿里云)
云服务器上安装好配置环境(我用到的有Python3+Django框架)
FTP工具filezilla,方便往服务器上传输网站源码(源码见末尾)

搭建步骤

  1. 在自己的云服务器上安装Python3,安装步骤见
    https://www.cnblogs.com/xiujin/p/11477419.html

  2. 安装好python3之后,下载django库,命令为(根据自己设置的pip命令名可调整)

pip3 install django
  1. 在自己的服务器上安装mysql(实际上本次网站未用到mysql数据库)
    https://blog.csdn.net/u011035397/article/details/103583463

  2. 在centos服务器上选择一个合适目录,输入命令创建django框架的项目

django-admin startproject love     #love为项目名
  1. 然后cd love 进入项目目录,在该目录下执行,创建web应用入口
python3 manage.py startapp web
  1. 最后将写好的源码用filezilla上传到服务器,覆盖项目即可(由于第一次配置Django框架网站,我猜想第4步和第5步可直接跳过,直接到第6步可以,待测试)

  2. 最后让项目一直在后台运行,注意要设置阿里云8000端口的安全组规则(本次项目不是正式在服务器配置Django,没有使用Nginx和uwsgi,而是直接使用nohup命令)

nohup python3 manage.py runserver 0.0.0.0:8000 &

到此搭建完成,源码和效果图请见末尾,踩坑可跳过不看

踩到的坑1,数据库配置

  1. 先看源码结构
    在这里插入图片描述
  2. 比较重要settings.py这个py文件,因为这里面是项目的配置,再看pycharm专业版,自动生成项目里的settings.py,主要是数据库配置部分,默认是这样子的,默认数据库是sqlite
    在这里插入图片描述
  3. 可修改为mysql数据库的配置
    在这里插入图片描述
  4. 如果项目中没有用到数据库,可以将settings.py配置数据库部分删除

踩到的坑2,在centos7上,首次安装好mysql数据库后

出现以下报错ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
解放方案
打开/etc/my.cnf配置文件,在mysql的后面加入一句话:skip-grant-tables
然后重启mysql服务在这里插入图片描述
在这里插入图片描述
参考链接https://blog.csdn.net/baidu_35901646/article/details/80942077

踩到的坑3,对于Django2.2以上版本,用pymysql链接mysql数据库时

报错如下:
mysql ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3

原因
Django连接MySQL时默认使用MySQLdb驱动,但MySQLdb不支持Python3,因此这里将MySQL驱动设置为pymysql,使用 pip install pymysql 进行安装,然后在工程文件__init__.py添加以下代码即可。

#安装pymysql
pip install pymysql
#__init__.py
import pymysql
pymysql.install_as_MySQLdb()

此法对Django2.1.4版本有效,若是版本太新,则用以下解决办法

Django2以上的版本,安装之前需要好像要将pymysql卸载,pip3 uninstall pymsql,然后安装mysqlclient,linux这些编译安装不上的话可以先安装个mysql-devel然后再安装mysqlclient

参考链接
https://blog.csdn.net/weixin_33127753/article/details/89100552

踩到的坑4,django的路由配置

报错如下,这种情况需要检查url路径是否填写正确,如果填写正确,则可能是django版本引起的问题在这里插入图片描述
看下图的错误路由配置,是path和url不能混用在这里插入图片描述
在使用Django的时候,多次遇到urls与path,不知道两者有什么区别。下面简单介绍一下两者

在django>=2.0的版本,urls.py中的django.conf.urls已经被django.urls所取代。

django.urls的用法:

from django.urls import path
from . import view 

urlpatterns = [    
  path('', view.hello),    
  path('world/', view.world)
]

其中最大的改变如下:import urls被import path所取代
如果是路径需要在路径的后面加上一个斜杠 /

旧版本如下:

from django.conf.urls import url
from . import view

urlpatterns = [
    url(r'^hello$', view.hello),
]

新版本如下:

from django.urls import path
from . import view

urlpatterns = [
    path('hello/', view.hello),
]

参考链接https://blog.csdn.net/sinat_38369128/article/details/81702636
http://www.runoob.com/django/django-first-app.html
https://www.imooc.com/qadetail/251834

踩到的坑5,启动django后,报不能访问,400错误

启动django后,不能访问,报400错误。

原因:没有开启允许访问

处理:编辑项目目录下settings.py ,把其中的

ALLOWED_HOSTS=[]改成ALLOWED_HOSTS=['*']
其中的*号表示任意地址,注意有单引号

项目源码(已修改无误)

链接:https://pan.baidu.com/s/1kbJO9xPfs_q8k4R3fIkfnQ
提取码:a084

效果图,有动画,有时钟,有背景音乐(曲名:想见你想见你想见你)非常好看
有前端基础html+css+js就可以修改文字和背景音乐啦,或者自己再添加图片,其他网页进去都可以的
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug 挖掘机

支持洋子

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值