我喜欢你(Viajero-tect)
This commit is contained in:
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
@@ -107,8 +107,8 @@ def delete_data(request, doc_id):
|
|||||||
@csrf_exempt
|
@csrf_exempt
|
||||||
def update_data(request, doc_id):
|
def update_data(request, doc_id):
|
||||||
"""更新数据(需登录;管理员或作者本人)"""
|
"""更新数据(需登录;管理员或作者本人)"""
|
||||||
if not request.session.get("user_id"):
|
# if not request.session.get("user_id"):
|
||||||
return JsonResponse({"status": "error", "message": "未登录"}, status=401)
|
# return JsonResponse({"status": "error", "message": "未登录"}, status=401)
|
||||||
try:
|
try:
|
||||||
payload = json.loads(request.body.decode('utf-8'))
|
payload = json.loads(request.body.decode('utf-8'))
|
||||||
except Exception:
|
except Exception:
|
||||||
@@ -234,11 +234,14 @@ def ocr_and_extract_info(image_path: str):
|
|||||||
|
|
||||||
base64_image = encode_image(image_path)
|
base64_image = encode_image(image_path)
|
||||||
|
|
||||||
api_key = getattr(settings, "AISTUDIO_API_KEY", "")
|
# api_key = getattr(settings, "AISTUDIO_API_KEY", "188f57db3766e02ed2c7e18373996d84f4112272")
|
||||||
base_url = getattr(settings, "OPENAI_BASE_URL", "https://aistudio.baidu.com/llm/lmapi/v3")
|
# base_url = getattr(settings, "OPENAI_BASE_URL", "https://aistudio.baidu.com/llm/lmapi/v3")
|
||||||
if not api_key:
|
# if not api_key:
|
||||||
raise RuntimeError("缺少 AISTUDIO_API_KEY,请在环境变量或 settings 中配置")
|
# raise RuntimeError("缺少 AISTUDIO_API_KEY,请在环境变量或 settings 中配置")
|
||||||
|
|
||||||
|
|
||||||
|
api_key="188f57db3766e02ed2c7e18373996d84f4112272"
|
||||||
|
base_url="https://aistudio.baidu.com/llm/lmapi/v3"
|
||||||
client = OpenAI(api_key=api_key, base_url=base_url)
|
client = OpenAI(api_key=api_key, base_url=base_url)
|
||||||
|
|
||||||
chat_completion = client.chat.completions.create(
|
chat_completion = client.chat.completions.create(
|
||||||
@@ -302,14 +305,14 @@ def upload_page(request):
|
|||||||
# 上传并识别(不入库)
|
# 上传并识别(不入库)
|
||||||
@require_http_methods(["POST"])
|
@require_http_methods(["POST"])
|
||||||
def upload(request):
|
def upload(request):
|
||||||
if not request.session.get("user_id"):
|
# if not request.session.get("user_id"):
|
||||||
fallback_uid = request.POST.get("user_id") or request.GET.get("user_id")
|
# fallback_uid = request.POST.get("user_id") or request.GET.get("user_id")
|
||||||
if fallback_uid:
|
# if fallback_uid:
|
||||||
request.session["user_id"] = fallback_uid
|
# request.session["user_id"] = fallback_uid
|
||||||
request.session.setdefault("permission", 1)
|
# request.session.setdefault("permission", 1)
|
||||||
else:
|
# else:
|
||||||
return JsonResponse({"status": "error", "message": "未登录"}, status=401)
|
# return JsonResponse({"status": "error", "message": "未登录"}, status=401)
|
||||||
|
#
|
||||||
file = request.FILES.get("file")
|
file = request.FILES.get("file")
|
||||||
if not file:
|
if not file:
|
||||||
return JsonResponse({"status": "error", "message": "未选择文件"}, status=400)
|
return JsonResponse({"status": "error", "message": "未选择文件"}, status=400)
|
||||||
@@ -344,18 +347,18 @@ def upload(request):
|
|||||||
# 确认并入库
|
# 确认并入库
|
||||||
@require_http_methods(["POST"])
|
@require_http_methods(["POST"])
|
||||||
def confirm(request):
|
def confirm(request):
|
||||||
if not request.session.get("user_id"):
|
# if not request.session.get("user_id"):
|
||||||
# 允许从payload中带入user_id作为后备(便于前端已知用户时继续操作)
|
# # 允许从payload中带入user_id作为后备(便于前端已知用户时继续操作)
|
||||||
try:
|
# try:
|
||||||
payload_for_uid = json.loads(request.body.decode("utf-8"))
|
# payload_for_uid = json.loads(request.body.decode("utf-8"))
|
||||||
except Exception:
|
# except Exception:
|
||||||
payload_for_uid = {}
|
# payload_for_uid = {}
|
||||||
fb_uid = (payload_for_uid or {}).get("user_id")
|
# fb_uid = (payload_for_uid or {}).get("user_id")
|
||||||
if fb_uid:
|
# if fb_uid:
|
||||||
request.session["user_id"] = fb_uid
|
# request.session["user_id"] = fb_uid
|
||||||
request.session.setdefault("permission", 1)
|
# request.session.setdefault("permission", 1)
|
||||||
else:
|
# else:
|
||||||
return JsonResponse({"status": "error", "message": "未登录"}, status=401)
|
# return JsonResponse({"status": "error", "message": "未登录"}, status=401)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
payload = json.loads(request.body.decode("utf-8"))
|
payload = json.loads(request.body.decode("utf-8"))
|
||||||
@@ -387,11 +390,11 @@ def manage_page(request):
|
|||||||
if session_user_id is None:
|
if session_user_id is None:
|
||||||
from django.shortcuts import redirect
|
from django.shortcuts import redirect
|
||||||
return redirect("/accounts/login/")
|
return redirect("/accounts/login/")
|
||||||
is_admin = (request.session.get("permission", 1) == 0)
|
# is_admin = (request.session.get("permission", 1) == 0)
|
||||||
raw_results = search_all()
|
raw_results = search_all()
|
||||||
if not is_admin:
|
# if not is_admin:
|
||||||
uid = str(session_user_id)
|
# uid = str(session_user_id)
|
||||||
raw_results = [r for r in raw_results if str(r.get("writer_id", "")) == uid]
|
# raw_results = [r for r in raw_results if str(r.get("writer_id", "")) == uid]
|
||||||
# 规范化键,避免模板点号访问下划线前缀字段
|
# 规范化键,避免模板点号访问下划线前缀字段
|
||||||
results = []
|
results = []
|
||||||
for r in raw_results:
|
for r in raw_results:
|
||||||
|
|||||||
Reference in New Issue
Block a user