前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python3开发一个web项目

Python3开发一个web项目

作者头像
用户8442333
发布2021-12-01 08:57:50
4650
发布2021-12-01 08:57:50
举报
文章被收录于专栏:python知识

准备工作

代码语言:javascript
复制
# 安装 Web 框架 
pip install Django
# 创建一个项目
python  django-admin.py startproject itstyle
# 切换目录
cd itstyle
 # 创建  App
python manage.py startapp novel

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

代码语言:javascript
复制
# 默认端口是8000
python manage.py runserver

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

代码语言:javascript
复制
python manage.py runserver 8001
python manage.py runserver 8002

项目结构

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

代码语言:javascript
复制
│  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 风格

控制器

代码语言:javascript
复制
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
]

代码实现

代码语言:javascript
复制
# 此处 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的意思:

代码语言:javascript
复制
{% for novel in novel_list %}
    <a href="/chapter/{{novel.id}} "><li>{{ novel.title }}</li></a>

{% endfor %}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 项目结构
  • 要点备注
    • RESTful 风格
      • 列表展示
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档