如何在Django网站中嵌入Python脚本实现文本处理功能?
Django新手入门:文本输入-Python处理-结果展示全流程
针对你提出的三个问题,直接给出实操方案:
1. 如何让Django文件在网站上生效?
核心是完成项目初始化并启动开发服务器:
- 先安装Django:
pip install django - 创建项目:
django-admin startproject myproject - 进入项目目录:
cd myproject - 创建业务应用:
python manage.py startapp myapp - 打开
myproject/settings.py,在INSTALLED_APPS列表末尾添加'myapp',注册你的应用 - 启动开发服务器:
python manage.py runserver - 访问
http://127.0.0.1:8000,看到Django默认页面就说明你的文件已经生效。开发过程中修改代码后,服务器会自动重载,除非修改了settings.py或路由文件,才需要手动重启服务器。
2. Python代码应放置在何处?
- 核心处理逻辑:放在你创建的应用(
myapp)的views.py中,这是Django处理HTTP请求的核心文件,所有和用户输入处理、API调用相关的Python代码都写在这里。 - 复杂/通用逻辑:如果API调用逻辑比较复杂,或者需要复用,可以在
myapp目录下新建utils.py或services.py文件,把工具函数/API封装代码放在这里,然后在views.py中导入使用,避免views.py代码臃肿。 - 注意:不要把Python业务逻辑写在HTML模板或路由文件(
urls.py)里,模板只负责展示数据,路由只负责分发请求。
3. 如何与网站进行输入输出交互?
以下是完整的代码实现步骤,直接照搬就能跑通:
步骤1:编写HTML表单模板
在myapp目录下新建templates/myapp文件夹(避免模板重名冲突),创建index.html:
<!DOCTYPE html> <html> <head> <title>文本处理工具</title> </head> <body> <h1>输入文本进行处理</h1> <form method="POST"> {% csrf_token %} <!-- Django强制要求的防跨站攻击令牌,不能省略 --> <textarea name="user_text" rows="5" cols="50" placeholder="输入你的文本..."></textarea><br> <button type="submit">提交处理</button> </form> <!-- 展示处理结果 --> {% if result %} <h2>处理结果:</h2> <p>{{ result }}</p> {% endif %} </body> </html>
步骤2:编写视图函数(处理请求+调用Python API)
打开myapp/views.py,替换内容为:
from django.shortcuts import render # 这里替换成你实际要调用的仅支持Python的API函数 def process_text_with_python_api(text): # 示例逻辑:将文本转为大写并添加标记,实际替换成你的API调用 return text.upper() + "(已通过Python API处理完成)" def text_process_view(request): result = None # 判断是否是用户提交表单的POST请求 if request.method == 'POST': # 获取用户在文本框中输入的内容 user_text = request.POST.get('user_text', '') if user_text.strip(): # 避免空输入 # 调用Python API处理文本 result = process_text_with_python_api(user_text) # 将结果传给模板,渲染页面 return render(request, 'myapp/index.html', {'result': result})
步骤3:配置路由(连接请求和视图)
- 打开项目根目录的
myproject/urls.py,修改为:
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('myapp.urls')), # 将根路径指向你的应用路由 ]
- 在
myapp目录下新建urls.py文件,内容为:
from django.urls import path from . import views urlpatterns = [ path('', views.text_process_view, name='text_process'), # 根路径对应处理视图 ]
步骤4:测试功能
重新启动开发服务器(如果之前没启动),访问http://127.0.0.1:8000,输入文本点击提交,就能看到Python处理后的结果展示在页面上了。
内容的提问来源于stack exchange,提问作者Lethargistic
相关产品推荐
相关产品推荐

