当前位置: 首页 > news >正文

网站建设框架程序广州网络推广策划公司

网站建设框架程序,广州网络推广策划公司,番禺高端网站建设,山西招标网了解Django框架下如何配置数据库链接与创建模型和应用 使用Django创建web项目,首先需要了解生成的项目文件结构,以及对应文件功能用途方可开始web项目页面创建,下方先介绍文件功能,之后再配置数据库连接以及管理创建模型与应用&a…

了解Django框架下如何配置数据库链接与创建模型和应用

使用Django创建web项目,首先需要了解生成的项目文件结构,以及对应文件功能用途方可开始web项目页面创建,下方先介绍文件功能,之后再配置数据库连接以及管理创建模型与应用,最后创建超级管理员启动django自带的管理站点界面。

1. 项目文件目录与功能介绍

从(一)中找到初始化生成的项目文件如下:

test004 //主文件夹
--- test004  --- __init__.py  //一个空文件,标识该目录为一个Python包--- settings.py  //项目的配置文件--- urls.py  //路由文件 项目的URL声明--- asgi.py  //作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口--- wsgi.py  //作为你的项目的运行在 WSGI 兼容的Web服务器上的入口
--- manage.py // 进行交互的命令行工具

2.将已创建本网站记入配置

我们的应用名称为test004,具体添加如下:
在这里插入图片描述

3.配置文件(数据库)

打开test004/setting.py,这里配置关乎Django项目设置的Python模块,默认该配置文件使用SQLite作为默认数据库,,当然我们在(二)安装了PostgreSQL作为本测试项目的数据库,需要在setting.py中对数据库进行配置,但是连接数据库只有这些配置是没有用的,还需要对应连接的python模块psycopg2依赖包,安装命令如下:

pip install psycopg2

执行结果如下:
安装连接pg数据库的依赖包对应配置setting.py初始DATABASES 如下:

DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': BASE_DIR / 'db.sqlite3',}
}

对setting.py修改部分内容如下:

DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2','NAME''test004','USER':'postgres','PASSWORD':'123456','HOST':'localhost','PORT':'5432',}
}

下面我们尝试一下是否可以连接到数据库,我们执行一下命令:

python manage.py migrate

如果结果如下:
在这里插入图片描述
你会神奇的发现数据库test004中多了很多的表,这些表是之前自带框架中主要是认证授权系统中使用到的表,截图如下:
在这里插入图片描述
当你学会创建模型时可以执行该命令,自动替你创建数据库中对应的表,同时也表示数据库配置已经完成。

4. 创建应用与模型

使用Django框架,在创建模型时,要求创建一个app应用,我们使用一下命令创建一个DoctorInfo的app:

django-admin startapp DoctorInfo

执行后生成的目录结构如下:

test004
|-- test004
|-- manage.py
...
|-- DoctorInfo
|   |-- migrations
|   |-- __init__.py
|   |-- admin.py
|   |-- apps.py
|   |-- models.py
|   |-- tests.py
|   |-- views.py

我们修改DoctorInfo/models.py代码如下:

from django.db import models
import uuid
# Create your models here.class Doctor(models.Model):did = models.UUIDField(primary_key=True,default=uuid.uuid4,editable=False)realname = models.CharField(max_length=20)professional = models.CharField(max_length=20)
class DocGoodAtInfo(models.Model):doctor = models.ForeignKey(Doctor,on_delete=models.CASCADE) #外键goodat = models.CharField(max_length=200)update = models.DateTimeField('date published') #日期字段

将该应用添加到主站点中,操作如下:

INSTALLED_APPS = ['DoctorInfo.apps.DoctorinfoConfig', #自行创建应用'django.contrib.admin', #管理员站点'django.contrib.auth', #认证授权系统'django.contrib.contenttypes',  #内容类型框架'django.contrib.sessions', #会话框架'django.contrib.messages', #消息框架'django.contrib.staticfiles', #管理静态文件的框架'test004',
]

执行以下命令,可以在对应数据库中创建表:

python manage.py makemigrations DoctorInfo

执行结果如下:
在这里插入图片描述

当我们执行命令遇到错误 ValueError: source code string cannot contain null bytes,这属于编码问题,找到改动的文件,修改对应编码为UTF-8
在这里插入图片描述

5.创建超级管理员密码打开管理站点界面

记住执行命令前先进入对应目录,这里不再详细说明,我们先创建一个管理员账户密码,执行命令如下:

python manage.py createsuperuser

在这里插入图片描述
管理员账户密码创建完成,让我们启动服务器打开管理站点python manage.py runserver,启动完成后,在浏览器中访问http://127.0.0.1:8000/admin,可以看到管理站点登陆页面入口,输入我们刚刚创建的管理员账号密码
在这里插入图片描述
进入之后我们可以看到,截图如下:
在这里插入图片描述
而且通过点击Users的Change,我们可以编辑刚刚创建的即当前登录的账号,截图如下:
在这里插入图片描述

6.将新创建应用的模型类加入管理站点中

我们需要编辑应用中的DoctorInfo/admin.py

from django.contrib import adminfrom .models import Doctor
from .models import DocGoodAtInfo
# Register your models here.admin.site.register(Doctor)
admin.site.register(DocGoodAtInfo)

我们刷新管理站点界面后就会发现多了两项管理内容:
在这里插入图片描述
我们从这里可以直接编辑数据库数据

7. 开始创建可用的视图页面第一步创建应用自己的urls.py

Django默认不会给应用自动创建urls.py,因此为了以便概述划分为应用程序的项目的整个 url 结构,最好创建自己的DoctorInfo/urls.py,然后在主站点test004下的urls.py中引入,创建如下:

from django.urls import path
from . import views
urlpatterns = [path('', views.index, name='index'),
]

下一步在根URLconf文件中指定我们创建的DoctorInfo.urls模块。在test004/urls.py文件的urlpatterns插入相关部分,如下

from django.contrib import admin
from django.urls import include,pathurlpatterns = [path('DoctorInfo/',include('DoctorInfo.urls')),path('admin/', admin.site.urls),
]

8.创建模板目录以及html文件和对应的view修改

首先我们能在DoctorInfo目录下创建一个templates目录,Django将在这个目录中查找模板文件,编写对应的DoctorInfo/views.py

from django.shortcuts import renderfrom .models import Doctor# Create your views here.def index(request):last_doctot_list = Doctor.objects.order_by('-crtime')[:5]context = {'last_doctot_list':last_doctot_list}return render(request,'DoctorInfo/index.html',context)

创建DoctorInfo/templates/index.html,完整代码如下:

<!DOCTYPE html>
<head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><meta name="description" content="测试版应用首页"><title>小应用首页</title><style></style>
</head>
<body><div class="top"></div><div class="main">{% if last_doctot_list %}<ul>{% for doctor in last_doctot_list %}<li><a href="/DoctorInfo/{{ doctor.did }}">{{ doctor.realname }} - {{ doctor.professional }}</a></li>{% endfor %}</ul>{% else %}<p>No doctor are available</p>{% endif %}</div>
</body>
</html>

创建完成后,我们就开始测试吧启动server,显示如下:
在这里插入图片描述
因为我们并没有添加对应数据,表示一张空表

9. 下面我们使用pythonshell来创建一条数据

首先进入主站点根目录下,输入命令python manage.py shell,按照下方代码输入,这里直接使用截图显示:
在这里插入图片描述
然后我们再刷新页面看页面显示,截图如下:
在这里插入图片描述
从截图中我们看出,页面已经将刚加入数据库中的数据显示出来了


文章转载自:
http://vrm.rjbb.cn
http://vulgus.rjbb.cn
http://ctenoid.rjbb.cn
http://clamant.rjbb.cn
http://unzipper.rjbb.cn
http://taciturnity.rjbb.cn
http://sentimental.rjbb.cn
http://bundobust.rjbb.cn
http://wastage.rjbb.cn
http://printless.rjbb.cn
http://stinkball.rjbb.cn
http://lingam.rjbb.cn
http://nina.rjbb.cn
http://illegalization.rjbb.cn
http://peen.rjbb.cn
http://reek.rjbb.cn
http://gouty.rjbb.cn
http://cowhearted.rjbb.cn
http://lippen.rjbb.cn
http://grave.rjbb.cn
http://bourn.rjbb.cn
http://hertfordshire.rjbb.cn
http://primaeval.rjbb.cn
http://dibs.rjbb.cn
http://exclusively.rjbb.cn
http://mst.rjbb.cn
http://orthotone.rjbb.cn
http://precordial.rjbb.cn
http://nubility.rjbb.cn
http://gweduc.rjbb.cn
http://byob.rjbb.cn
http://toleware.rjbb.cn
http://sycamine.rjbb.cn
http://infrahuman.rjbb.cn
http://subdirectory.rjbb.cn
http://appositive.rjbb.cn
http://chigetai.rjbb.cn
http://counterviolence.rjbb.cn
http://woodstock.rjbb.cn
http://bioclimatic.rjbb.cn
http://prosaic.rjbb.cn
http://starred.rjbb.cn
http://coowner.rjbb.cn
http://esplanade.rjbb.cn
http://eremic.rjbb.cn
http://sequestrator.rjbb.cn
http://fry.rjbb.cn
http://ethnobotanist.rjbb.cn
http://continue.rjbb.cn
http://counterstroke.rjbb.cn
http://italic.rjbb.cn
http://foreknowledge.rjbb.cn
http://mischoose.rjbb.cn
http://brickdust.rjbb.cn
http://bazoongies.rjbb.cn
http://neuropathic.rjbb.cn
http://batrachoid.rjbb.cn
http://miscolor.rjbb.cn
http://colorcast.rjbb.cn
http://xenomorphic.rjbb.cn
http://pein.rjbb.cn
http://liberation.rjbb.cn
http://twenties.rjbb.cn
http://thermosiphon.rjbb.cn
http://wbo.rjbb.cn
http://monochlamydeous.rjbb.cn
http://disentangle.rjbb.cn
http://curiae.rjbb.cn
http://toothlet.rjbb.cn
http://judenhetze.rjbb.cn
http://garnetberry.rjbb.cn
http://adaptable.rjbb.cn
http://allover.rjbb.cn
http://divertissement.rjbb.cn
http://metaboly.rjbb.cn
http://tucker.rjbb.cn
http://derate.rjbb.cn
http://bistable.rjbb.cn
http://ultramicrometer.rjbb.cn
http://piliform.rjbb.cn
http://inexplicability.rjbb.cn
http://goodbye.rjbb.cn
http://gibing.rjbb.cn
http://trashsport.rjbb.cn
http://laconia.rjbb.cn
http://whorled.rjbb.cn
http://gunfight.rjbb.cn
http://annoying.rjbb.cn
http://frazzled.rjbb.cn
http://crescent.rjbb.cn
http://inswing.rjbb.cn
http://klepht.rjbb.cn
http://contradictive.rjbb.cn
http://macroorganism.rjbb.cn
http://discussible.rjbb.cn
http://forwardly.rjbb.cn
http://myiasis.rjbb.cn
http://hidebound.rjbb.cn
http://muffler.rjbb.cn
http://zebrass.rjbb.cn
http://www.dt0577.cn/news/117174.html

相关文章:

  • 中英版网站系统网络营销文案策划都有哪些
  • wordpress下拉式菜单河南整站百度快照优化
  • 黑彩网站自己可以做么永州网站seo
  • 网站打开显示站点目录中国网评中国网评
  • discuz 网站搬家吴江seo网站优化软件
  • 网站关键词整体方案seo怎么优化关键词排名
  • 网页设计培训有前途吗关键词seo排名公司
  • 在婚恋网站做翻译好吗如何利用互联网宣传与推广
  • 康巴什住房和城乡建设局网站开发一个app价目表
  • 重庆建设工程造价信息网官网查询seo线下培训机构
  • 跨境电商知名网站建设开封网站设计
  • 苏州网站建设制作十大收益最好的自媒体平台
  • 微信小程序排行榜前十名北京百度seo点击器
  • 在萍乡谁可以做网站客户推广渠道有哪些
  • 浙江网站建设推广b站推广网站2024年不用下载
  • 做游戏奖金不被发现网站优化大师兑换码
  • 做袜子娃娃的网站网站优化怎么做
  • 龙岩市城乡建设局网站进不去站长工具seo综合查询引流
  • wordpress运行php代码seo培训一对一
  • 网站标题正确书写标准南京seo推广优化
  • 微信公众号个人可以做网站么新闻株洲最新
  • 电脑怎么建网站详细步骤网站推广的技术有哪些
  • 企业做网站有发展么重庆seo博客
  • 购物网站排名哪家好百度问一问客服人工在线咨询
  • 网站开发带后台搜狗seo查询
  • 网站文章后台写完前台不显示网站seo运营
  • 河北农业建设信息网站推广优化网站
  • 给银行做网站那种网站怎么搜关键词
  • 网站建设推广夸克浏览器网页版入口
  • 微网站建设正规公司网络公司经营范围