python+Django+pycharm+mysql 搭建首个web项目详解


Posted in Python onNovember 29, 2019

本文实例讲述了python+Django+pycharm+mysql 搭建首个web项目。分享给大家供大家参考,具体如下:

前面的文章记录了环境搭建的过程,本节记录首个web项目调试

首先检查安装的模块,输入dos命令 pip list, 会显示已安装的模块,看是否有Django,PyMySQL模块

C:\Users\Administrator\PycharmProjects>pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to di
sable this warning.
Django (2.0.1)
pip (9.0.1)
PyMySQL (0.8.0)
pytz (2017.3)
setuptools (28.8.0)

1、然后开始创建项目: 运行PyCharm,  菜单选File->New project 弹出对话框

python+Django+pycharm+mysql 搭建首个web项目详解

在对话框中左侧选Django ,项目名称修改为mysite,点Create按钮创建

然后点击运行,即可看到web项目启动,并提示 Starting development server at http://127.0.0.1:8000/

点击链接即可在浏览器看到默认网页,创建成功

2. 创建APP

在每个django项目中可以包含多个APP,相当于一个大型项目中的分系统、子模块、功能部件等等,相互之间比较独立,但也有联系。所有的APP共享项目资源。

在pycharm下方的terminal终端中输入命令:

python manage.py startapp cmdb

这样就创建了一个叫做cmdb的APP,django自动生成“cmdb”文件夹。

3.  修改mysite\urls.py文件,修改后以下:

from django.urls import path
from cmdb import views
from django.conf.urls import url
urlpatterns = [
#  path('admin/', admin.site.urls),
url(r'^index/',views.index)
]

4.修改cmdb\views.py文件

from django.shortcuts import render
from django.shortcuts import HttpResponse
import pymysql
# Create your views here.
# 打开数据库连接
db = pymysql.connect(host="192.168.1.100", user="root",
           password="abc123", db="testdb", port=3306)
# 使用cursor()方法获取操作游标
cur = db.cursor()
def index(request):
  start = 10
  limit = 10
  if request.method == "POST":
    start = request.POST.get("start", None)
    limit = request.POST.get("limit", None)
  sql = "SELECT * FROM `siterecord` WHERE 1 limit %s,%s" % (start, limit)
  try:
    cur.execute(sql) # 执行sql语句
    results = cur.fetchall() # 获取查询的所有记录
  except Exception as e:
    raise e
  return render(request, "index.html", {"results":results})

主要是连接数据库,根据网页界面输入的start,limit查询数据库记录,并把记录返回给页面输出

5.创建template\index.html文件

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script type="text/javascript" src="/static/js/test.js"></script>
</head>
用户输入
<hr>
<form action="/index/" method="post">
 开始: <input type="text" name="start"/><br>
 条数:<input type="text" name="limit"/><br>
<input type="submit" value="提交"><br>
</form>
<hr>
<h1>访问记录展示</h1>
<table border="1">
 <thead>
 <th>id</th>
 <th>softid</th>
 <th>visittime</th>
 <th>ip</th>
 </thead>
  <tbody>
  {% for row in results %}
     <tr>
    <td>{{ row.0 }}</td>
    <td>{{ row.1 }}</td>
    <td>{{ row.2 }}</td>
    <td>{{ row.3 }}</td>
  <tr>
{% endfor %}
  </tr>
   </tbody>
</table>
</body>
</html>

该网页提示输入参数,并把查询数据库结果用表格展示出来,此外,为了测试静态文档目录,引入了一个js文档

6.增加static目录,存放img、css、js等静态文档

与cmdb同级建立目录static,目录下建imgs,css,js三个子目录

python+Django+pycharm+mysql 搭建首个web项目详解

然后修改mysite\setting.py文件,增加以下内容

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.0/howto/static-files/
STATIC_URL = '/static/'
STATICFILES_DIRS=(
os.path.join(BASE_DIR, 'static'),
)

这样index.html文档中就可以引用图片,css,js等静态文档了

7.重启django服务器,在浏览器栏输入

http://127.0.0.1:8000/index/

注意后面/index/不能缺少

如果出现跨域禁止,修改mysite\setting.py,注释掉以下这行

MIDDLEWARE = [
  'django.middleware.security.SecurityMiddleware',
  'django.contrib.sessions.middleware.SessionMiddleware',
  'django.middleware.common.CommonMiddleware',
 # 'django.middleware.csrf.CsrfViewMiddleware',
  'django.contrib.auth.middleware.AuthenticationMiddleware',
  'django.contrib.messages.middleware.MessageMiddleware',
  'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

'django.middleware.csrf.CsrfViewMiddleware',这行注释掉即可

8.看到成果了

python+Django+pycharm+mysql 搭建首个web项目详解

网页根据你输入的开始和条数展示数据库查询记录

注意本项目的windowsserver2012上并没有安装mysql数据库,查询连接的是另外一台电脑上的linux系统中的mysql.

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
python计算auc指标实例
Jul 13 Python
Python实现感知机(PLA)算法
Dec 20 Python
使用 Python 实现文件递归遍历的三种方式
Jul 18 Python
基于python3实现socket文件传输和校验
Jul 28 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
Python3简单爬虫抓取网页图片代码实例
Aug 26 Python
使用Python函数进行模块化的实现
Nov 15 Python
django框架cookie和session用法实例详解
Dec 10 Python
Tensorflow训练MNIST手写数字识别模型
Feb 13 Python
python词云库wordCloud使用方法详解(解决中文乱码)
Feb 17 Python
pandas和spark dataframe互相转换实例详解
Feb 18 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
Nov 29 #Python
python jenkins 打包构建代码的示例代码
Nov 29 #Python
numpy创建单位矩阵和对角矩阵的实例
Nov 29 #Python
python中从for循环延申到推导式的具体使用
Nov 29 #Python
python 实现矩阵按对角线打印
Nov 29 #Python
python之列表推导式的用法
Nov 29 #Python
python 实现方阵的对角线遍历示例
Nov 29 #Python
You might like
6个超实用的PHP代码片段
2015/08/10 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
2016/12/02 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
Python自动连接ssh的方法
2015/03/07 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
python打开文件的方式有哪些
2020/06/29 Python
python爬取招聘要求等信息实例
2020/11/20 Python
python 写一个水果忍者游戏
2021/01/13 Python
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
医学生自荐信范文
2013/12/03 职场文书
护士毕业生自荐信
2014/02/07 职场文书
文员岗位职责范本
2014/03/08 职场文书
党支部承诺书范文
2014/03/28 职场文书
领导班子个人对照检查材料(群众路线)
2014/09/26 职场文书
乐山大佛导游词
2015/02/02 职场文书
小班下学期个人总结
2015/02/12 职场文书
毕业生爱心捐书倡议书
2015/04/27 职场文书
Python matplotlib绘制雷达图
2022/04/13 Python