django⼊门:新建⼀个项⽬,向数据库中写⼊内容并将数据库
表内容显⽰在页⾯上
在前⾯两篇⽂章环境配置完成的基础上完成以下⼊门功能的实现。
新建⼀个项⽬,向数据库中写⼊内容并将数据库表内容显⽰在页⾯上。
参考教程中的代码及配置是Django1.x下的规则,将相关内容改成了符合Django2.0的形式。
1.新建⼀个项⽬Biomass
django是Python的⼀个开源web框架,在pycharm开发环境中,pycharm专业版在新建⼀个项⽬的时候有django选项,帮助创建⼀个django框架的项⽬。pycharm社区版需要⾃⼰创建。
执⾏命令:django-admin startproject biomass
然后在Pycharm中Open file打开即可。
2.新建⼯程app1
进⼊项⽬的⽂件⽬录,执⾏命令python manage.py startapp app1
3.修改settings.py
mysql入门基础教程(1)在INSTALLED_APPS添加⾃⼰的⼯程名称。
INSTALLED_APPS = [
'ib.admin',
'ib.auth',
'ttypes',
'ib.sessions',
'ssages',
'ib.staticfiles',
'*****'
]
(2)修改DATABASES项中配置的内容。
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.sql',
'NAME': '****',
'USER':'*****',
'PASSWORD':'******',
'HOST':'*******',
'PORT':'****',
}
}
4.修改站点的__init__.py⽂件
添加如下代码
import pymysql
pymysql.install_as_MySQLdb()
5.在django中建⽴表格,同步到mysql中
(1)修改models.py⽂件
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=30)
java项目实例教程age = models.IntegerField()
birthday=models.DateField()
(2)同步:
python manage.py makemigrations --empty app名称
python manage.py makemigrations
python manage.py migrate
(3)这个时候navicat视图中显⽰出了person表结构
6.写⼀个⽹页将数据库表person表的内容显⽰出来
(1)在app1⽬录下新建templates⽂件夹,在其下⾯新建index.html⽂件。
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<form action="/mytest/" method="post" enctype="multipart/form-data"> {% csrf_token %}
name: <input type="text" name="name"><br>
age: <input type="text" name="age"><br>
birthday: <input type="date" name="birthday"><br>
<input type="submit" value="提交">
</form>
<br>
列表:
<table>
<tr><td>id</td><td>name</td><td>age</td><td>birthday</td></tr>
{% for a in list %}
<tr>
<td>{{a.id|safe}}</td><td>{{a.name|safe}}</td><td>{{a.age|safe}}</td><td>{{a.birthday}}</td> </tr>
开题答辩ppt免费模板{%endfor%}
</table>
</body>
</html>
java下载在哪
修改settings.py中的TEMPLATE路径:'DIRS': ['./templates'],
(2)修改项⽬的urls.py⽂件
ib import admin
from django.urls import include, path
urlpatterns = [
path('app1/', include('app1.urls')),
path('admin/', admin.site.urls),
]
(3)修改⼯程app1的url.py⽂件
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
(4)⼯程app1下的views.py⽂件
from django.http import HttpResponse
from django.http import HttpResponseRedirect
from django.shortcuts import render
from .models import *
from django.views.decorators.csrf import csrf_protect
plate import loader
@csrf_protect
def index(request):
if request.POST:
p=Person(name=request.POST['name'],age=request.POST['age'],birthday=request.POST['birthday']) p.save()
return getdata(request)
def getdata(request):
list=Person.objects.all()
print(list)
oracle数据库是关系数据库吗return render(request, 'index.html',{'list':list})
(5)⼯程app1下的models.py⽂件
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=30)
age = models.IntegerField()
birthday=models.DateField()
def __unicode__(self):
# 在Python3中使⽤ def __str__(self):
# ⽤来输出
while循环改为for循环return 'name:'+self.name+';age:'+str(self.age)+';birthday:'+str(self.birthday)
数据库中原始情况下有四条记录,在页⾯上提交⼀条新记录:
在navicat中刷新表内容
如果在数据库中增添记录,刷新⽹页,同样可以看到在后台新增的数据。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论