并不知道拿服务器做什么,先熟悉一下django 的模型。
浏览网站时,web做的就是把数据从数据库里拿出来呈现出来
django的某一个模型对应着一个类,它提供方法供人使用,自己也要增加自定义的方法,一篇文章对应一个模型的话,他需要能保存文章、编辑文章、查看、删除,这都要在模型这方面做文章
文档里这么说的
模型是您的数据唯一而且准确的信息来源。它包含您正在储存的数据的重要字段和行为。一般来说,每一个模型都映射一个数据库表。
基础:
- 每个模型都是一个Python的类,这些类继承 django.db.models.Model
- 模型类的每个属性都相当于一个数据库的字段。
- 综合上诉说,Django给你一个自动生成访问数据库的API;请参阅进行查询。
设置时区、语言、连接数据库
https://docs.djangoproject.com/zh-hans/2.0/ref/settings
关于settings.py的设置介绍
记住这个页面,好多设置都可以在这里参考
在这个页面参考数据库的连接、时区、语言
时区的设置
https://docs.djangoproject.com/zh-hans/2.0/ref/settings/#std:setting-TIME_ZONE
TIME_ZONE = 'Asia/Shanghai'
对于怎么选择时区,点击文档里的时区列表,是时区的维基页面
django_2_wx.png
语言的设置
参考
https://github.com/django/django/blob/2.0/django/conf/global_settings.py
找到
LANGUAGE_CODE = 'zh-Hans'
数据库设置
数据库设置
先新建一个库,取名my-django
修改设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'my-django',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
设置的过程
django_5_wx.png django_6_wx.png django_9_wx.png
安装推荐的原生的数据库驱动mysqlclient
https://docs.djangoproject.com/zh-hans/2.0/ref/databases/
安装前需要安装python、mysql的头文件库
sudo yum install python36-devel.x86_64 mysql-devel
pip install mysqlclient
现在运行应用迁移命令,看看数据库里会不会有变化
(myenv) [root@192 mysite]# python manage.py migrate
django_12_wx.png
django_13_wx.png
生成的表是django 自带的应用用到的表,可以删除了这些表,暂时没用。
数据库算是连接上了
## 新建应用
一个项目会有多个功能,django里就是指的一个应用
先熟悉下模型
先新建一个名叫blog
的应用
(myenv) [root@192 mysite]# python manage.py startapp blog
把这个应用添加到settings
文件中的INSTALLED_APPS
列表中
依然是settings 里的内容的修改,在应用列表里添加 blog
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
django_14_wx.png
创建article 模型
一篇文章大概包括,标题、作者、描述、内容等等吧
编辑 blog/models.py
创建几个字段,标题、浏览量、创建和更新时间
新建应用
一个项目会有多个功能,django里就是指的一个应用
先新建一个名叫blog
的应用
(myenv) [root@192 mysite]# python manage.py startapp blog
把这个应用添加到settings文件中的INSTALLED_APPS
列表中
创建article 模型
一篇文章大概包括,标题、作者、描述、内容、浏览量、评论量、点赞量、创建日期、更新日期、删除日期
编辑 blog/models.py
创建几个字段
from django.db import models
import django.utils.timezone as timezone
# Create your models here.
class Article(models.Model):
title = models.CharField('标题', max_length=30)
view_count = models.IntegerField('浏览量')
created_at = models.DateTimeField('创建时间', default = timezone.now)
updated_at = models.DateTimeField('更新时间', auto_now=True)
class Meta:
db_table = "articles"
# ordering = ["created_at"]
运行迁移命令
创建迁移记录
(myenv) [root@192 mysite]# python manage.py makemigrations
迁移
(myenv) [root@192 mysite]# python manage.py migrate
django_16_wx.png
查看数据库,articles 表成功创建
django_15_wx.png新建文件blog/article.py
from django.http import HttpResponse
from blog.models import Article
import datetime
def create(request):
new_article = Article(title='测试文章标题一',view_count=199)
new_article.save()
return HttpResponse("添加成功")
新建文件blog/urls.py
from django.urls import path
from . import article
urlpatterns = [
path('create', article.create),
]
修改mysite/mysite/urls.py
from django.contrib import admin
from django.urls import path
from django.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls')),
]
现在访问在主机上访问下面的地址: 192.168.168.128/blog/create
数据库里也会多出一条记录
django_17_wx.png
刷新一下表,记录添加了
django_18_wx.png
今天完成了简单的增
仓促发布,有错请一定留言纠正
来自公众号号:
胡里有仁
网友评论