适用对象:有一定python和django基础,对此技术感兴趣,或者想快速尝试、实现效果的。
原则:
参考资料
django-admin startproject social_book
python manage.py startapp core
,将core
应用添加到settings.py/INSTALLED_APPS
中Profile 整体介绍
user 关联的外键为当前活跃的用户
id_user 用户id
bio 介绍
profileimg 头像
location 地域
Post 帖子
id 唯一标志
user 属于哪个用户
image 图片
caption 标题
created_at 创建时间
no_of_likes 点赞数
Likepost 点赞数
post_id 文章id
username 用户名
Followerscount 关注者统计
user 用户
follower 关注者
创建数据模型,生成数据表
1、检测你对模型文件的修改,并且把修改的部分储存为一次迁移 python manage.py makemigrations
2、数据库里创建新定义的模型的数据表 python manage.py migrate
# 在terminal中输入 python .\manage.py shell
# 执行以下命令
from django.contrib.auth.models import User
User.objects.create_user('Tom', '[email protected]', '123')
User.objects.create_user('Jerry', '[email protected]', '123')
User.objects.create_user('Spike', '[email protected]', '123')
两个非常重要的概念:路由和视图
在core/urls.py中添加路由
urlpatterns = [
path('signup', views.signup, name='signup'),
path('signin', views.signin, name='signin')
]
在core/urls.py中添加视图函数
# 注册
def signup(request):
...
# 登录
def signin(request):
...
记得修改setting中TEMPLATES配置
'DIRS': [os.path.join(BASE_DIR, 'templates')],
在core/urls.py中添加路由
urlpatterns = [
path('signup', views.signup, name='signup'),
path('signin', views.signin, name='signin'),
path('settings', views.settings, name='settings'),
]
# 设置个人信息
def settings(request):
...
路由、视图函数、模板文件
点击查看视频教程
个人主页、点赞、关注的实现。
基于python3.8
和Django4.1.3
的博客。
视频地址
不要看太多教程,1~2个为佳,快速构建起来后,再适配、修改、拓展;
Django 文档 | Django 文档 | Django (djangoproject.com)
大江狗的博客 | 大江狗的技术及生活博客 (pythondjango.cn)
liangliangyy/DjangoBlog: 基于Django的博客系统 (github.com)
掌握框架的设计哲学和思想
The web framework for perfectionists with deadlines.
Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、务实的设计。 由经验丰富的开发人员构建,它解决了Web开发的大部分麻烦,因此您可以集中精力 编写应用程序时无需重新发明轮子。它是免费和开源的。
了解当前参考的项目,能正常运行
改造成我们需要的样子
熟练掌握、拓展全新的功能
python .\manage.py runserver
下载地址
我下载的版本是:postgresql-14.7-1-windows-x64.exe
tips:下载完成后,执行exe安装包安装,过程中会让你设置管理员密码123456
,和给一个默认的端口号5432
,并且可以选择一些安装包,我选择了pgAdmin数据库管理工具,这样就可以直接管理数据库了。
1、通过pgAdmin创建
2、通过命令行创建,本人采用此种方式,软件安装完成后,会有SQL Shell直接打开即可
# 创建名为socialbook的数据库
CREATE DATABASE socialbook;
# 创建用户名和密码
CREATE USER myuser WITH ENCRYPTED PASSWORD '123456';
# 给创建的用户授权
GRANT ALL PRIVILEGES ON DATABASE socialbook TO myuser;
# 以下设置可手动进行设置,也可以在postgresql.conf中进行配置
# 设置客户端字符为utf-8,防止乱码
ALTER ROLE myuser SET client_encoding TO 'utf8';
# 事务相关设置 - 推荐
ALTER ROLE myuser SET default_transaction_isolation TO 'read committed';
# 设置数据库时区为UTC - 推荐
ALTER ROLE myuser SET timezone TO 'UTC';
然后就是登陆过程了,首先是 Server
,也就是说数据库 url,默认是在本地(所以是 localhost
),没有该动的就直接回车下一步好了。
接着是 Database
,也即我们数据库,这里默认是使用 postgres
,因为我们是第一次登陆,所以这里也就直接回车下一步就好了。
再接着是 Port
,也就是端口号,默认是 5432,如果你安装的时候改动了,那么此时你最好也改成你当时改的端口,否则可能导致连接失败。
然后是 Username
,也就是 PostgreSQL 的用户,这里一般默认是超级用户(postgres
,这里不同于 MySQL 的 root
,要注意),而我们也是第一次登陆,没有建立新账户,直接默认回车下一步即可。
最后要输入的则是口令,也就是登陆数据库的密码,这里我们已经在上边设置过了,直接输入后回车即可。
进入bin所在目录,执行:pg_ctl start -w -D "D:\devsoft\postgresql\data"
要让Python与Postgres一起工作,你需要安装“psycopg2”模块
pip install psycopg2
修改项目文件夹里的settings.py
的文件,添加创建的数据库和用户信息。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # 数据库引擎
'NAME': 'mydb', # 数据库名,Django不会帮你创建,需要自己进入数据库创建。
'USER': 'myuser', # 设置的数据库用户名
'PASSWORD': 'mypass', # 设置的密码
'HOST': 'localhost', # 本地主机或数据库服务器的ip
'PORT': '', # 数据库使用的端口
}
}
设置好后,连续使用如下命令如果没有出现错误,就可以在Django项目中使用PostgreSQL数据库。得益于优秀的ORM设计,更换数据库不需要动任何代码。
python manage.py makemigrations
python manage.py migrate
Redis
缓存,支持缓存自动刷新。…