Compare commits
4 Commits
7010faee4f
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 59c78b9d55 | |||
| 16469920ae | |||
| fe052af0f1 | |||
| 3a0e3e9ad1 |
12
.idea/material_theme_project_new.xml
generated
Normal file
12
.idea/material_theme_project_new.xml
generated
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="MaterialThemeProjectNewConfig">
|
||||||
|
<option name="metadata">
|
||||||
|
<MTProjectMetadataState>
|
||||||
|
<option name="migrated" value="true" />
|
||||||
|
<option name="pristineConfig" value="false" />
|
||||||
|
<option name="userId" value="-2b504815:19a7605d86e:-7ffe" />
|
||||||
|
</MTProjectMetadataState>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
108
myapp/views.py
108
myapp/views.py
@@ -5,6 +5,60 @@ from myapp.models import User
|
|||||||
from django.http import QueryDict
|
from django.http import QueryDict
|
||||||
from django.views.generic import View # 用类来写增删改查接口
|
from django.views.generic import View # 用类来写增删改查接口
|
||||||
|
|
||||||
|
# 使用类写法
|
||||||
|
class UserView(View):
|
||||||
|
def get(self, request):
|
||||||
|
return HttpResponse('获取用户')
|
||||||
|
def post(self, request):
|
||||||
|
name = request.POST.get('name')
|
||||||
|
city = request.POST.get('city')
|
||||||
|
sex = request.POST.get('sex')
|
||||||
|
age = request.POST.get('age')
|
||||||
|
User.objects.create(
|
||||||
|
name=name,
|
||||||
|
city=city,
|
||||||
|
sex = sex,
|
||||||
|
age = age
|
||||||
|
)
|
||||||
|
print(request.POST)
|
||||||
|
return HttpResponse('创建用户')
|
||||||
|
|
||||||
|
def put(self, request):
|
||||||
|
data = QueryDict(request.body)
|
||||||
|
id = data.get('id')
|
||||||
|
# 用户更新
|
||||||
|
user_obj = User.objects.get(id=id)
|
||||||
|
user_obj.name = data.get('name')
|
||||||
|
user_obj.city = data.get('city')
|
||||||
|
user_obj.sex = data.get('sex')
|
||||||
|
user_obj.age = data.get('age')
|
||||||
|
user_obj.save()
|
||||||
|
|
||||||
|
result = {'code': 200, 'msg': '更新用户成功'}
|
||||||
|
return JsonResponse(result)
|
||||||
|
|
||||||
|
def delete(self, request):
|
||||||
|
data = QueryDict(request.body)
|
||||||
|
id = data.get("id")
|
||||||
|
User.objects.get(id=id).delete()
|
||||||
|
result = {'code': 200, 'msg': '删除用户成功'}
|
||||||
|
return JsonResponse(result)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def user_list(request):
|
||||||
|
users = User.objects.all()
|
||||||
|
return render(request, 'user_list.html', {'users': users})
|
||||||
|
|
||||||
|
|
||||||
|
def user_add(request):
|
||||||
|
return render(request, 'user_add.html')
|
||||||
|
|
||||||
|
def user_edit(request):
|
||||||
|
id = request.GET.get('id')
|
||||||
|
user_obj = User.objects.get(id=id)
|
||||||
|
return render(request, 'user_edit.html', {'user': user_obj})
|
||||||
|
|
||||||
# 非类写法
|
# 非类写法
|
||||||
"""
|
"""
|
||||||
def user(request):
|
def user(request):
|
||||||
@@ -44,56 +98,4 @@ def user(request):
|
|||||||
User.objects.get(id=id).delete()
|
User.objects.get(id=id).delete()
|
||||||
result = {'code': 200, 'msg': '删除用户成功'}
|
result = {'code': 200, 'msg': '删除用户成功'}
|
||||||
return JsonResponse(result)
|
return JsonResponse(result)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# 类写法
|
|
||||||
class UserView(View):
|
|
||||||
def get(self, request):
|
|
||||||
return HttpResponse('获取用户')
|
|
||||||
def post(self, request):
|
|
||||||
name = request.POST.get('name')
|
|
||||||
city = request.POST.get('city')
|
|
||||||
sex = request.POST.get('sex')
|
|
||||||
age = request.POST.get('age')
|
|
||||||
User.objects.create(
|
|
||||||
name=name,
|
|
||||||
city=city,
|
|
||||||
sex = sex,
|
|
||||||
age = age
|
|
||||||
)
|
|
||||||
print(request.POST)
|
|
||||||
return HttpResponse('创建用户')
|
|
||||||
|
|
||||||
def put(self, request):
|
|
||||||
data = QueryDict(request.body)
|
|
||||||
id = data.get('id')
|
|
||||||
# 用户更新
|
|
||||||
user_obj = User.objects.get(id=id)
|
|
||||||
user_obj.name = data.get('name')
|
|
||||||
user_obj.city = data.get('city')
|
|
||||||
user_obj.sex = data.get('sex')
|
|
||||||
user_obj.age = data.get('age')
|
|
||||||
user_obj.save()
|
|
||||||
|
|
||||||
result = {'code': 200, 'msg': '更新用户成功'}
|
|
||||||
return JsonResponse(result)
|
|
||||||
|
|
||||||
def delete(self, request):
|
|
||||||
data = QueryDict(request.body)
|
|
||||||
id = data.get("id")
|
|
||||||
User.objects.get(id=id).delete()
|
|
||||||
result = {'code': 200, 'msg': '删除用户成功'}
|
|
||||||
return JsonResponse(result)
|
|
||||||
|
|
||||||
def user_list(request):
|
|
||||||
users = User.objects.all()
|
|
||||||
return render(request, 'user_list.html', {'users': users})
|
|
||||||
|
|
||||||
|
|
||||||
def user_add(request):
|
|
||||||
return render(request, 'user_add.html')
|
|
||||||
|
|
||||||
def user_edit(request):
|
|
||||||
id = request.GET.get('id')
|
|
||||||
user_obj = User.objects.get(id=id)
|
|
||||||
return render(request, 'user_edit.html', {'user': user_obj})
|
|
||||||
0
myapp_api/__init__.py
Normal file
0
myapp_api/__init__.py
Normal file
3
myapp_api/admin.py
Normal file
3
myapp_api/admin.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
from django.contrib import admin
|
||||||
|
|
||||||
|
# Register your models here.
|
||||||
6
myapp_api/apps.py
Normal file
6
myapp_api/apps.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
|
class MyappApiConfig(AppConfig):
|
||||||
|
default_auto_field = 'django.db.models.BigAutoField'
|
||||||
|
name = 'myapp_api'
|
||||||
24
myapp_api/migrations/0001_initial.py
Normal file
24
myapp_api/migrations/0001_initial.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Generated by Django 5.2.8 on 2025-11-15 03:44
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
initial = True
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='User',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('name', models.CharField(max_length=100)),
|
||||||
|
('city', models.CharField(max_length=100)),
|
||||||
|
('sex', models.CharField(max_length=100)),
|
||||||
|
('age', models.IntegerField()),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]
|
||||||
0
myapp_api/migrations/__init__.py
Normal file
0
myapp_api/migrations/__init__.py
Normal file
8
myapp_api/models.py
Normal file
8
myapp_api/models.py
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
from django.db import models
|
||||||
|
|
||||||
|
# Create your models here.
|
||||||
|
class User(models.Model):
|
||||||
|
name = models.CharField(max_length=100)
|
||||||
|
city = models.CharField(max_length=100)
|
||||||
|
sex = models.CharField(max_length=100)
|
||||||
|
age = models.IntegerField()
|
||||||
7
myapp_api/serializers.py
Normal file
7
myapp_api/serializers.py
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
from myapp_api.models import User
|
||||||
|
from rest_framework import serializers
|
||||||
|
|
||||||
|
class UserSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = User # 指定数据模型
|
||||||
|
fields = '__all__' # 显示所有字段
|
||||||
3
myapp_api/tests.py
Normal file
3
myapp_api/tests.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
# Create your tests here.
|
||||||
12
myapp_api/urls.py
Normal file
12
myapp_api/urls.py
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
from django.urls import path,include
|
||||||
|
from myapp_api import views
|
||||||
|
from rest_framework import routers
|
||||||
|
|
||||||
|
# 自动注册路由(url)
|
||||||
|
router = routers.DefaultRouter()
|
||||||
|
router.register(r'user', views.UserViewSet)
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path('api/', include(router.urls)),
|
||||||
|
]
|
||||||
7
myapp_api/views.py
Normal file
7
myapp_api/views.py
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
from rest_framework import viewsets
|
||||||
|
from .serializers import UserSerializer
|
||||||
|
from myapp_api.models import User
|
||||||
|
|
||||||
|
class UserViewSet(viewsets.ModelViewSet):
|
||||||
|
queryset = User.objects.all() # 指定操作的数据
|
||||||
|
serializer_class = UserSerializer # 指定序列化器
|
||||||
@@ -37,7 +37,9 @@ INSTALLED_APPS = [
|
|||||||
'django.contrib.sessions',
|
'django.contrib.sessions',
|
||||||
'django.contrib.messages',
|
'django.contrib.messages',
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
'myapp'
|
'rest_framework',
|
||||||
|
'myapp',
|
||||||
|
'myapp_api'
|
||||||
]
|
]
|
||||||
|
|
||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
|
|||||||
@@ -19,5 +19,7 @@ from django.urls import path,include
|
|||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('myapp/', include('myapp.urls'))
|
path('myapp/', include('myapp.urls')),
|
||||||
|
path('myapp_api/', include('myapp_api.urls'))
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user