Как сохранить данные в текстовый файл из входов формы django?
Я хочу сохранить данные ввода формы в текстовый файл и хранить его в локальном хранилище. Но я также новичок в django. Вот мои примеры кодов... Как я могу сохранить данные формы в текстовый файл? Спасибо за помощь.
Мой файл models.py
from django.db import models
from django.contrib.auth.models import User
from django.urls import reverse
#from datetime import datetime, date
class Post(models.Model):
#post_date = models.DateField(auto_now_add = True)
soru1 = models.CharField(verbose_name='Ad Soyad',max_length=10000, default="")
soru2 = models.CharField(verbose_name='Tarih', max_length=10000, default="")
soru3 = models.CharField(verbose_name='Doğum Tarihi', max_length=10000, default="")
soru4 = models.CharField(verbose_name='Doğum Yeri', max_length=10000, default="")
soru5 = models.CharField(verbose_name='Medeni Hali', max_length=10000, default="")
soru6 = models.CharField(verbose_name='Birinci Evlilik', max_length=10000, default="")
Мой файл forms.py
from django import forms
from .models import Post
class PostForm(forms.ModelForm):
class Meta:
model = Post
fields = '__all__'
#field = ('title', 'author') yapılabilir
widgets = {
# 'title': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Adınızı yazınız'}),
# 'author': forms.Select(attrs={'class': 'form-control'}),
# 'body': forms.Textarea(attrs={'class': 'form-control', 'placeholder': 'Adınızı yazınız'}),
'soru1': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Adınızı yazınız'}),
'soru2': forms.TextInput(attrs={'class': 'form-control'}),
'soru3': forms.TextInput(attrs={'class': 'form-control'}),
'soru4': forms.TextInput(attrs={'class': 'form-control'}),
'soru5': forms.TextInput(attrs={'class': 'form-control'}),
'soru6': forms.TextInput(attrs={'class': 'form-control'}),
мой файл views.py
from django.shortcuts import render
from django.views.generic import ListView, DetailView, CreateView, UpdateView, DeleteView
from .models import Post
from .forms import PostForm
from django.urls import reverse_lazy
from django.db.models import Q
from django.http import HttpResponse
class HomeView(ListView):
model = Post
template_name = 'home.html'
ordering = ['-id']
#ordering sıralamayı belli ediyor, negatif id yaptık en son eklenen en başa geliyor.
class ArticleDetailView(DetailView):
model = Post
template_name = 'article_details.html'
Вы можете использовать основные методы Python open() и write(). Вы можете получить доступ к kwargs с помощью self.get_form() в вашем View с помощью form_class или аналогичной опции.
def post(self, request, *args, **kwargs):
form = self.get_form()
with open('text_file.txt', 'w') as file:
file.write(f'Field_1: {form.data["field_1"]}\n')
file.write(f'Field_2: {form.data["field_2"]}\n')
...