快速上手Django操作
本文需要在已有摸索过Django的基础上,作为一个比较好的思路总结
参考网站
推荐教程:知乎一只图雀
一杯茶的时间,上手 Django 框架开发
https://zhuanlan.zhihu.com/p/98788776
全栈“食”代:用 Django + Nuxt 实现美食分享网站(上)https://zhuanlan.zhihu.com/p/106667729
全栈“食”代:Django + Nuxt 实现美食分享网站(下)
https://zhuanlan.zhihu.com/p/107346041
操作
已有python环境
安装django:pip install django
新建django项目:django-admin startproject HelloWorld
运行服务器: python manage.py runserver
通过流浪器访问:127.0.0.1:8000
新建一个app:python manage.py startapp news
将app加入到HelloWorld的settings中,在INSTALLED_APPS 中
[另:修改语言]
全局配置settings.py中修改中文LANGUAGE_CODE = 'zh-hans'
实现一个django应用的大致流程:
1、定义一个新的数据模型
在app:news中的models定义一个新类,类中注明类型:
title =models.CharField(max_length=200)
用makemigrations命令创建迁移文件:python manage.py makemigrations
进行数据库迁移:python manage.py migrate
创建用于登录后台管理的超级用户:python manage.py createsuperuser
2、实现后台管理接口,在app:news中的admin.py中加入注册
from .models import XXX
admin.site.register(XXX)
3、定义序列化器:仅当实现REST API时需要
4、定义视图,实现具体业务逻辑
[另:视图模板显示]
{{}}表示表达式
也有条件语句,循环语句
5、定义路由
在app:news中有视图views.py,路由urls.py
在app中编写的散装路由可以通过include到HelloWorld的urls.py全局路由。
静态文件配置
全局配置settings.py中加入media路径与路由
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
在全局的urls.py中的urlpatterns后加入
from django.conf import settings
from django.conf.urls.static import static
[] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)