python+Django+pycharm+mysql 搭建首个web项目详解
Python  /  管理员 发布于 7年前   169
本文实例讲述了python+Django+pycharm+mysql 搭建首个web项目。分享给大家供大家参考,具体如下:
前面的文章记录了环境搭建的过程,本节记录首个web项目调试
首先检查安装的模块,输入dos命令 pip list, 会显示已安装的模块,看是否有Django,PyMySQL模块
C:\Users\Administrator\PycharmProjects>pip listDEPRECATION: 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 disable 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 弹出对话框
在对话框中左侧选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 pathfrom cmdb import viewsfrom django.conf.urls import urlurlpatterns = [# path('admin/', admin.site.urls),url(r'^index/',views.index)]
4.修改cmdb\views.py文件
from django.shortcuts import renderfrom django.shortcuts import HttpResponseimport 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="https: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三个子目录
然后修改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.看到成果了
网页根据你输入的开始和条数展示数据库查询记录
注意本项目的windowsserver2012上并没有安装mysql数据库,查询连接的是另外一台电脑上的linux系统中的mysql.
希望本文所述对大家基于Django框架的Python程序设计有所帮助。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号