django开发

url

1
2
3
from django.views.decorators.csrf import csrf_exempt

path('api/xxx/xxx',csrf_exempt(xxxView.as_view()))

admin

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from django.contrib import admin
from .models import xxx
from django.utils.safestring import mark_safe
#导入需要管理的数据库表
admin.site.site_header = 'xxx管理后台' # 设置header
admin.site.site_title = 'xxx管理后台' # 设置title
admin.site.index_title = 'xxx管理后台'


@admin.register(xxx)
class xxxAdmin(admin.ModelAdmin):
list_display = ('id', 'name',,'created_time')
# 文章列表里显示想要显示的字段
list_per_page = 10
# 满50条数据就自动分页
ordering = ('-created_time',)
#后台数据列表排序方式
list_display_links = ('id', 'name')
# 设置哪些字段可以点击进入编辑界面

view

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import json
from django.http import JsonResponse
from django.shortcuts import render
from rest_framework.response import Response
from rest_framework.views import APIView

class xxxView(APIView):
def post(self,request):
# (1)默认数据请求
# name = request.POST.get('username')
# psd = request.POST.get('password')

# (2)JSON数据请求
request_dict = json.loads(request_data.decode('utf-8'))
engine = request_dict.get('username')
prompt = request_dict.get('password')#获取对应的值
......
if not xxx:
return JsonResponse({
'code': 404,
'message': 'No place now',
})

return JsonResponse({
'code':200,
'message':'success',
'data':{
'name':name,
'password':password
}
})

增删改查

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from django.core import serializers
import xxxModel
from apps.xxxmodels import xxxModel

data = serializers.serialize("json", xxxModel.objects.all()) # 将django对象转化为json
create = xxxModel.objects.create(name='xxx',password='xxx') # 创建
filter_one = xxxModel.objects.filter(username='xxx').first() # 查找一个
filter_all = xxxModel.objects.all() # 查找所以有
delete = xxxModel.objects.filter(username='xxx').delete() # 删除
update = xxxModel.objects.filter(username='xxx').update(name='xxxx') # 修改


# 范围查询
# in:是否包含在范围内
xxxModel.objects.filter(id__in=[1,3,5])
# 查询编号为1或3或5的图书

# gt 大于 (greater then)
# gte 大于等于 (greater then equal)
# lt 小于 (less then)
# lte 小于等于 (less then equal)
xxxModel.objects.filter(id__gt=3)

# 不等于的运算符,使用exclude()过滤器
xxxModel.objects.exclude(id=3)

路由跳转

1
2
3
4
5
6
7
url:
path('analysis/', views.analysis, name='analysis')
html:
<a href="{% url 'analysis' %}"></a>
view:
def analysis(request):
return render(request,'analysis.html')