用pycharm和mysql建一个查询两种药物信息相互作用的网站,两种药品信息设置有下拉框显示药品,并且下拉框中的内容来自mysql
时间: 2024-05-04 13:21:04 浏览: 96
首先,你需要在PyCharm中安装Django和mysqlclient包。接下来,你可以创建一个Django项目,然后创建一个app来存储你的代码。
在你的app中,你需要创建一个视图函数,该函数将处理用户的请求并返回相应的HTML模板。在HTML模板中,你可以使用下拉框来显示可选的药品列表,并使用JavaScript来实现药品之间的相互作用查询。
以下是一个简单的示例代码:
```python
# views.py
from django.shortcuts import render
from django.db import connection
def index(request):
# 获取所有药品列表
with connection.cursor() as cursor:
cursor.execute("SELECT name FROM drugs")
drugs = [row[0] for row in cursor.fetchall()]
# 处理用户提交的表单数据
if request.method == 'POST':
drug1 = request.POST['drug1']
drug2 = request.POST['drug2']
# 查询药品之间的相互作用
with connection.cursor() as cursor:
cursor.execute("SELECT interaction FROM interactions WHERE drug1=%s AND drug2=%s", [drug1, drug2])
interaction = cursor.fetchone()
# 返回结果给用户
return render(request, 'result.html', {'drug1': drug1, 'drug2': drug2, 'interaction': interaction})
# 如果是GET请求,则返回HTML模板和药品列表
return render(request, 'index.html', {'drugs': drugs})
```
在上面的代码中,我们使用了Django的数据库API来查询药品列表和药品之间的相互作用。我们还使用了render函数来渲染HTML模板并返回给用户。
以下是HTML模板的示例代码:
```html
<!-- index.html -->
<html>
<head>
<title>查询药品相互作用</title>
</head>
<body>
<h1>查询药品相互作用</h1>
<form method="post">
<label for="drug1">药品1:</label>
<select id="drug1" name="drug1">
{% for drug in drugs %}
<option value="{{ drug }}">{{ drug }}</option>
{% endfor %}
</select><br>
<label for="drug2">药品2:</label>
<select id="drug2" name="drug2">
{% for drug in drugs %}
<option value="{{ drug }}">{{ drug }}</option>
{% endfor %}
</select><br>
<input type="submit" value="查询">
</form>
</body>
</html>
```
在上面的代码中,我们使用了Django的模板语言来动态生成下拉框中的药品列表。当用户提交表单时,我们将药品名称作为POST参数发送给服务器。
最后,以下是result.html模板的示例代码:
```html
<!-- result.html -->
<html>
<head>
<title>查询结果</title>
</head>
<body>
<h1>查询结果</h1>
<p>{{ drug1 }}和{{ drug2 }}之间的相互作用是:{{ interaction }}</p>
</body>
</html>
```
在上面的代码中,我们显示了药品之间的相互作用结果。
这只是一个简单的示例代码,你需要根据你的具体需求进行修改和扩展。
阅读全文