내 html 제출 데이터를 내 데이터베이스 (mysql)로 보내고 싶습니다. 서버 측에서는 django (im begginer)를 사용합니다. 내 테이블 "name" "email" "message"에서 3 개의 행을 사용하는 경우 예를 들어 주시겠습니까? 누군가 제출을 누르면 데이터를 DB에 저장하고 다른 사용자는 볼 수 없습니다. djangogirls와 django tutorial 1.10을 읽었으며 이미 webapp을 만들었습니다. 하지만 내가 스스로 뭔가를하고 싶다면 나는 붙어 있었다.
index.html의 내 양식
<form method="POST" class="post-form" action="/myapp/">{% csrf_token %}{{form}}
<input class="form-control" id="name" name="name" placeholder="Name" type="text" required>
</div>
<div class="col-sm-6 form-group">
<input class="form-control" id="email" name="email" placeholder="mail" type="email" required>
</div>
</div>
<textarea class="form-control" id="message" name="message" placeholder="Comm" rows="5"></textarea><br>
<div class="row">
<div class="col-sm-12 form-group">
{{ form.as_p }}
<button class="btn btn-default pull-right" type="submit">Send</button>
</form>
models.py
에서 미래의 수입 unicode_literals
django.db 가져 오기 모델에서
# Create your models here.
class bosti(models.Model):
name = models.CharField(max_length = 50)
email = models.CharField(max_length = 50)
message = models.CharField(max_length = 50)
forms.py
from django import forms
from .models import bosti
class bosti(forms.ModelForm):
class Meta:
model = Post
fields = ('id', 'name', 'email',' message')
myapp / urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='hello.html'),
]
mysite / urls.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^myapp/', include('myapp.urls')),
]
양식을 제출할 때 내 URL에 값이 있지만 DB에 전달되지 않습니다.
views.py
django.shortcuts에서 import render from .models import bosti
def index (request) : return render (request, 'blog / hello.html', {})
def bosti(request,
template = 'blog/hello.html', *args, **kwargs):
if request.user.is_authenticated():
name= request.GET.get('name')
email= request.GET.get('email')
message= request.GET.get('message')
Model = bosti(name = name, email = email, message = message)
Model.save()
나는 bosti 모델이 있습니다. db에 로그인하면 새 테이블 bosti_bosti가 표시됩니다.
settings.py
설치된 앱 : myapp을 추가했습니다.
DB 설정, mysql을 사용하는 메신저
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'myDb',
'USER': 'myuser',
'PASSWORD': 'mypassword'
}
}
<form method="POST" class="post-form" action="/myapp/">
<input class="form-control" id="name" name="name" placeholder="Name" type="text" required>
</div>
<div class="col-sm-6 form-group">
<input class="form-control" id="email" name="email" placeholder="mail" type="email" required>
</div>
</div>
<textarea class="form-control" id="message" name="message" placeholder="Comm" rows="5"></textarea><br>
<div class="row">
<div class="col-sm-12 form-group">
<button class="btn btn-default pull-right" type="submit">Send</button>
</form>
models.py
from future import unicode_literals
from django.db import models
# Create your models here.
class bosti(models.Model):
name = models.CharField(max_length = 50)
email = models.CharField(max_length = 50)
message = models.CharField(max_length = 50)
forms.py
from django import forms
from .models import bosti
class bosti(forms.ModelForm):
class Meta:
model = Post
fields = ('id', 'name', 'email',' message')
myapp / urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='hello.html'),
]
mysite / urls.py
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^myapp/', include('myapp.urls')),
]
양식을 제출할 때 내 URL에 값이 있지만 DB에 전달되지 않습니다.
views.py
django.shortcuts에서 import render from .models import bosti
여기에서보기를 만드십시오.
def index(request): return render(request, 'blog/hello.html', {})
def bosti(request,
template = 'blog/hello.html', *args, **kwargs):
if request.user.is_authenticated():
name= request.GET.get('name')
email= request.GET.get('email')
message= request.GET.get('message')
Model = bosti(name = name, email = email, message = message)
Model.save()
이 옵션을 데이터베이스 설정에 추가하십시오.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'myDb',
'USER': 'myuser',
'PASSWORD': 'mypassword'
'OPTIONS': {
'sql_mode': 'traditional',
}
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다