Я только начинаю учить django и Vue. js и теперь сталкиваюсь с этой проблемой. Я построил небольшой python + django + Vue. js проект в соответствии с образцом. Теперь это хорошо работает. основные коды следующие:
тест django. vue
<template>
<div id="mineapp">
{{msg}}
<form @submit.prevent ="submitNote">
<label>Title</label>
<input type="text" v-model="formData.title"/>
<label>Content</label>
<textarea v-model="formData.content"></textarea>
<br/>
<button type="submit">Submit</button>
</form>
</div>
</template>
<script>
import api from './api/index.js'
....
methods: {
submitNote(){
api.fetchNotes('post',null, this.formData).then(res=>{
this.msg = 'Saved'
}).catch((e)=>{
this.msg = e.response
})
},
индекс. js
import axios from 'axios'
export default{
fetchNotes(method, params, data){
if(method ==='post'){
return ajax('api/notes/', method,{data})
} else{
return ajax('api/notes/', 'get', {})
}
...
function ajax(url,method,options){
if(options !== undefined){
var{params=[], data={}} = options
} else{
params = data = {}
}
return new Promise((resolve, reject)=>{
axios({
url,
method,
params,
data
}).then(res => {
resolve(res)
}, res=>{
reject(res)
})
})
models.py
class Note(models.Model):
title = models.CharField(max_length=225, unique=True)
content = models.TextField()
created = models.DateTimeField(auto_created=True, auto_now_add=True)
def _str_(self):
return self.title
views.py
class NoteViewSet(viewsets.ModelViewSet):
#check permissions
permission_classes={
IsAuthenticated,
}
queryset = Note.objects.all()
serializer_class = NoteSerializer
lookup_field ="id"
Я успешно сохранил данные интерфейса в серверную часть (django) и проверенную панель администратора.
Следующая проблема заключается в том, что:
при отправке ajax запроса "/ api / notes "могу ли я создать файл json на локальном диске проекта django? Я хочу создать файл json -типа, созданный на стороне django, и сохранить мою локальную директорию проекта. Но я не знаю, как это сделать? Можно ли с помощью одного запроса выполнить две функции (сохранить данные в модели django и создать файл типа json в проекте django)?