首页 > 编程语言 >Python3开发一个web项目

Python3开发一个web项目

时间:2024-05-13 16:22:52浏览次数:27  
标签:web novel python py 开发 result manage id Python3

准备工作

# 安装 Web 框架 
pip install Django
# 创建一个项目
python  django-admin.py startproject itstyle
# 切换目录
cd itstyle
 # 创建  App
python manage.py startapp novel

一般一个项目有多个app, 当然通用的app也可以在多个项目中使用,然后启动服务:

# 默认端口是8000
python manage.py runserver

如果提示端口被占用,可以用其它端口:

python manage.py runserver 8001
python manage.py runserver 8002

项目结构

win下使用命令 tree /F > 项目结构图.txt ,如下:

│  manage.py
│  
├─novel
│  │  settings.py # 基础配置
│  │  urls.py     # URL映射
│  │  wsgi.py
│  │  __init__.py
│  │  
│          
├─templates # 相关页面
│      novel.html # 章节
│      novel_list.html # 小说首页
│      
├─utils
│  │  dbMysqlConfig.cnf # 数据库配置参数
│  │  encoder.py # 编码类
│  │  mysql_DBUtils.py # 数据库连接池
│          
└─view
    │  index.py   # 后台业务        

要点备注

RESTful 风格

控制器

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

urlpatterns = [
    # 首页
    path('', index.main),  # new
    # 章节页面 正则匹配 
    path('chapter/<int:novel_id>/', index.chapter),    # new
]

代码实现

# 此处 novel_id 对应 urls.py 中的 <int:novel_id>
# 你可以访问:http://localhost:8000/chapter/1/
def chapter(request, novel_id):
    sql = "SELECT title,content FROM novel where id = %(id)s;"
    param = {"id": novel_id}
    result = mysql.getOne(sql, param)
    # 中文编码问题,由于查询出来的额中文是字节码,这里需要转换一下
    result['title'] = result['title'].decode('utf-8')
    result['content'] = result['content'].decode('utf-8')
    context = {'novel': result}
    return render(request, 'novel.html', context)

列表展示

基于后端返回的数据,在前台进行展示,这里你可以把它想象成Java中的Struts2标签或者JSTL标签,当然也有点Vue的意思:

{% for novel in novel_list %}
    <a href="/chapter/{{novel.id}} "><li>{{ novel.title }}</li></a>

{% endfor %}

标签:web,novel,python,py,开发,result,manage,id,Python3
From: https://www.cnblogs.com/wenyuan519/p/18189441

相关文章

  • Python3+Django2配置后台管理
    前言使用Django我们只需要做一些配置,就可以实现简单的后台管理系统,下面我们以新闻系统为例子来搭建后台。创建项目切换到工作空间,执行以下命令:django-admin.pystartprojectitstyle#进入itstyle文件夹cditstyle#创建newsAppmanage.pystartappnews项目结构:......
  • 6年心得,从功能测试到测试开发,送给在测试路上一路走到黑的你。
    蓦然回首,软件测试风风雨雨的这就几年,起初每天的工作只是鼠标点点点,我还真不知道怎么办,闲的时候真的怀疑自己的存在价值,每天拿着7000的工资,飘荡在繁华的深圳,吃不饱也饿不死,未来一片茫然……时间荏苒,工作越久越能体会测试才不是这么简单,假如只会点点鼠标,并不能走得长远,工资也渐渐地......
  • 使用 Docker 部署 WebTop 运行 Linux 系统
    1)项目介绍GitHub:https://github.com/linuxserver/docker-webtopWebTop它是一个基于Linux(Ubuntu和Alpine两种版本)的轻量级容器,具有在浏览器中运行的完整桌面环境,具有基本的窗口管理器、像素完美的渲染分辨率、音频支持、剪贴板支持、屏幕键盘支持,以及用于上传/下载的远程......
  • 【M5Stack物联网开发】第四章 用户界面
    1交互设计交互设计(InteractionDesign,简称IxD)是一种专注于创造有意义的关系,介于人与人、人与产品或服务之间的设计领域。这种设计形式主要关注于如何使产品、系统或服务与用户之间的交互更加有效、效率高、直观和愉悦。交互设计的核心目标是提高用户体验和满意度,通过改善产品的......
  • Net8 webAPI 创建(傻瓜式入门)
    前沿学不止境(还是用windows学习吧mac太不友好了)让我来新建个Net8webapicore 然后看到这个页面选择不适用顶级语句然后配置你的目录  然后打开vsstudio看到编辑页面 可以在controllers里面创建新的.cs请求比如我新建了firstController  写入ge......
  • 【WCH蓝牙系列芯片】-基于CH582开发板—主机枚举从机所有服务和特征
    -------------------------------------------------------------------------------------------------------------------------------------在使用沁恒的CH582蓝牙芯片的过程中,有时需要主机去连接蓝牙从机进行通信,主机在使用过程中工作流程是: 1、 蓝牙初始化完成后,开始扫描......
  • 某东h5st 3.x-4.x 本篇web端4.7的生成方式和逆向分享
    前言本文中所有的内容仅供学习交流,禁止非法用途和商业行为。产生的一切后果与本作者无关。如有雷同纯属巧合4.7较前面的版本改动稍大,通过异步的方式生成了h5st。这个了解过的应该都可以看出来分析一、抓包确定逆向参数:20240511183735521;n9nymytm9nzgi560;f06cc;tk03wd2f......
  • 完全开源可商用!一个简洁、高效、安全的快速开发平台!
    大家好,我是Java陈序员。问君能有几多愁,开源项目解千愁!今天,给大家介绍一个快速开发平台,完全开源可商用!关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。项目介绍SmartAdmin——一个简洁、高效、安全的快速开发平台,以高质量代码......
  • 帆软报表开发新手教程
    由于PLM系统外包团队还没有完成开发,所以我没有这个系统的代码,要做一些报表只能先使用帆软,然后外挂链接。这个软件不做评价,开发人员使用这种类型软件的时候就跟带着手套扣痒一样,浑身蚂蚁在爬,希望外包团队能够给力一点,纯折磨,不想再有第二次这种经历了,明明直接前端加echart就完事了,非......
  • .net 开发中遇到的一些问题
    .Net开发中遇到的一些坑1、Asp.netCore项目打包成docker镜像时,出现***xx.csproj未找到错误大概率是因为当前执行的目录不在sln目录,切换到sln目录就可以了2、编译Docker镜像时,出现Determiningprojectstorestore...errorNU1301:Unabletoloadtheserviceind......