app连接虚拟机中的Django+MySQL实现增删改查
时间: 2024-05-07 20:23:48 浏览: 177
要实现连接虚拟机中的Django+MySQL并进行增删改查,需要以下步骤:
1. 确保虚拟机中Django和MySQL已经正确安装并启动。
2. 在Django中创建一个可以进行数据库操作的应用程序,在应用程序中创建模型类,定义好需要操作的字段。
3. 在MySQL中创建相应的数据库和表,与Django中定义的模型类对应。
4. 在Django中配置数据库连接,可以在settings.py中进行配置。
5. 在Django中编写视图函数,实现增删改查功能。
6. 在app中编写前端界面,通过ajax等方式调用Django中的视图函数进行数据操作。
具体实现过程可以参考以下步骤:
1. 在虚拟机中启动Django,并创建一个应用程序,例如命名为myapp。
2. 在myapp中创建一个模型类,代码如下:
```python
from django.db import models
class User(models.Model):
name = models.CharField(max_length=20)
age = models.IntegerField()
```
3. 在MySQL中创建一个名为mydb的数据库,并在其中创建一个名为user的表,代码如下:
```mysql
CREATE DATABASE mydb;
USE mydb;
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
age INT NOT NULL,
PRIMARY KEY (id)
);
```
4. 在Django的settings.py中配置MySQL连接,代码如下:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
}
}
```
其中,username和password需要替换为MySQL中的用户名和密码。
5. 在myapp中编写视图函数,可以实现增删改查功能,代码如下:
```python
from django.shortcuts import render, HttpResponse
from .models import User
def add_user(request):
if request.method == 'POST':
name = request.POST.get('name')
age = request.POST.get('age')
user = User(name=name, age=age)
user.save()
return HttpResponse('success')
def delete_user(request, id):
user = User.objects.get(id=id)
user.delete()
return HttpResponse('success')
def update_user(request, id):
if request.method == 'POST':
name = request.POST.get('name')
age = request.POST.get('age')
user = User.objects.get(id=id)
user.name = name
user.age = age
user.save()
return HttpResponse('success')
def get_user(request, id):
user = User.objects.get(id=id)
return HttpResponse(f'name: {user.name}, age: {user.age}')
```
其中,add_user函数为添加用户,delete_user函数为删除用户,update_user函数为更新用户信息,get_user函数为获取用户信息。
6. 在app中编写前端界面,通过ajax等方式调用Django中的视图函数进行数据操作。
例如,添加用户的前端界面可以编写如下代码:
```html
<form>
<label for="name">name:</label>
<input type="text" id="name" name="name"><br><br>
<label for="age">age:</label>
<input type="text" id="age" name="age"><br><br>
<input type="submit" value="Submit" onclick="addUser()">
</form>
<script>
function addUser() {
var name = document.getElementById("name").value;
var age = document.getElementById("age").value;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
if (xhr.status == 200) {
alert('success');
} else {
alert('error');
}
}
}
xhr.open('POST', '/add_user/', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send("name=" + name + "&age=" + age);
}
</script>
```
其中,addUser函数通过ajax调用Django中的add_user视图函数,将输入的name和age值传递给Django进行添加操作。
其他操作的前端界面类似,只需要调用不同的视图函数即可。
阅读全文