参考

杜赛: https://www.dusaiphoto.com/article/2/

官方文档: https://docs.djangoproject.com/en/3.2/

开发环境

# 基本
python 3.7
pip install django==2.2.3 # 扩展
pip install django-crispy-forms # 渲染表单使用
pip install mysqlclient==1.4.6 # mysql 数据库使用

一、 项目创建基本语句

# 创建名为 my_blog的django项目
django-admin startproject my_blog
# 运行django服务器
python manage.py runserver 127.0.0.1:8000
# 创建app,名为article
python manage.py startapp article
# 之后需要在settings中注册此app # 创建管理员账号 Superuser
python manage.py createsuperuser

打开chrome浏览器,输入http://127.0.0.1:8000/ ,即可看到运行的django

二、 Model层相关

在有了网站之后,第一个需要学习的是 数据层的使用,需要在数据库中建立数据表,具体建立方法参考官方文档

# 两条数据库更新的基本指令
python manage.py makemigrations
python manage.py migrate

三、 View层相关

需要在每个app中新建 urls.pyforms.py,用于路由管理与表单构建。

有了用户数据之后,网站需要先登录,此时涉及到url配置,此配置在urls.py中。

在与settings.py同级的urls.py中配置到各个app的路由,在各个app中配置具体功能的路由。

主urls

from django.contrib import admin # admin的网址需要
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls), # 使用admin自带的所有网址
path('phone/', include("phone.urls", namespace='phone')), # phone是app的名字
path('account_django/', include("account_django.urls", namespace='account_django')),
]

二级urls

以account_django为例

from django.urls import path, reverse_lazy
from . import views
from django.contrib.auth import views as auth_views app_name = 'account_django' urlpatterns = [
path('login/', views.user_login, name='login'),
path('logout/', views.user_logout, name='logout'),
path('home/', views.home, name='home'),
path('about_system/', views.about_system, name='about_system'),
path('users_table/', views.UsersTable.as_view(), name='users_table'),
path('ajax_delete_user', views.ajax_delete_user, name='ajax_delete_user'),
path('user_register/', views.user_register, name='user_register'),
path('user_update/', views.user_update, name='user_update'),
path('list_dep', views.list_dep, name='list_dep'),
path('list_test_modules', views.list_test_modules, name='list_test_modules'),
path('password_change/', auth_views.PasswordChangeView.as_view(
success_url=reverse_lazy('account_django:password_change_done')
), name='password_change'),
path('password_change_done/', auth_views.PasswordChangeDoneView.as_view(), name='password_change_done'), ]

表单

在用户登录时,输入用户名与密码的框即为表单。

例,登录的form类

# 引入表单类
from django import forms
class LoginForm(forms.Form):
username = forms.CharField(required=True, label="邮箱前缀", widget=forms.TextInput(attrs={'class': 'form-control'}))
password = forms.CharField(required=True, label="密码", widget=forms.PasswordInput(attrs={'class': 'form-control'}))

四、 内置后台管理工具

# 生成指令
python manage.py createsuperuser
# 访问
http://127.0.0.1:8000/admin/

五、 seetings设置


# 1、自定义模块 与 静态文件 位置
TEMPLATES = [
{
... ...
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')], # 此是需要手动修改的,其余的是默认生成的
'APP_DIRS': True,
... ...
},
] # 2、设置数据库为使用的mysql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'library',
'USER': 'root',
'PASSWORD': 'password',
'HOST': '10.18.99.166',
'PORT': '3306',
}
} # 3、设置语言与时区为 中文
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai' # 4、设置静态文件放置处
STATIC_URL = '/static/' # 此为默认生成的
STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),) # 静态文件目录,为包含一个元素的元组; 此句放于 STATIC_URL='/static' 语句后 # 5、若是重写的User继承了django自带的User,则添加下句
AUTH_USER_MODEL = 'account.User' # 让django自带的User类不起作用

Django系列---开发一的更多相关文章

  1. Django系列---开发三 前后端分离

    数据交互接口规范REST,全称 Representational State Transfer,意为"表现层状态转化". django的第三方拓展--django-rest-fra ...

  2. Django系列---开发二

    django.contrib.auth Django的用户验证框架,可以快速实现用户信息验证.登录.登出等用户操作 from django.contrib.auth import authentica ...

  3. Django 系列博客(十四)

    Django 系列博客(十四) 前言 本篇博客介绍在 html 中使用 ajax 与后台进行数据交互. 什么是 ajax ajax(Asynchronous Javascript And XML)翻译 ...

  4. Django 系列博客(十二)

    Django 系列博客(十二) 前言 本篇博客继续介绍 Django 中的查询,分别为聚合查询和分组查询,以及 F 和 Q 查询. 聚合查询 语法:aggregate(*args, **kwargs) ...

  5. Django 系列博客(八)

    Django 系列博客(八) 前言 本篇博客介绍 Django 中的模板层,模板都是Django 使用相关函数渲染后传输给前端在显式的,为了想要渲染出我们想要的数据,需要学习模板语法,相关过滤器.标签 ...

  6. Django 系列博客(六)

    Django 系列博客(六) 前言 本篇博客介绍 Django 中的路由控制部分,一个网络请求首先到达的就是路由这部分,经过路由与视图层的映射关系再执行相应的代码逻辑并将结果返回给客户端. Djang ...

  7. Django 系列博客(一)

    Django 系列博客(一) 前言 学习了 python 这么久,终于到了Django 框架.这可以说是 python 名气最大的web 框架了,那么从今天开始会开始从 Django框架的安装到使用一 ...

  8. Web程序员开发App系列 - 开发我的第一个App,源码下载

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  9. Python之路【第二十三篇】:Django 初探--Django的开发服务器及创建数据库(笔记)

    Django 初探--Django的开发服务器及创建数据库(笔记) 1.Django的开发服务器 Django框架中包含一些轻量级的web应用服务器,开发web项目时不需再对其配置服务器,Django ...

随机推荐

  1. 第十一篇:vue.js监听属性(大作业进行时)

    这个知识点急着用所以就跳过<计算属性>先学了 首先理解一下什么是监听:对事件进行监控,也就是当我进行操作(按了按钮之类的事件)时,会有相应的事情发生 上代码 <div id = &q ...

  2. Linux之主从数据库(1+X)

    主从数据库搭建 改主机名 配置网络 配置yum源(下载mysql) 写域名解析文件 主从同步:(备份,负载(读)) 第一步:数据库的初始化,修改配置文件,定义server-id(所有节点),开启二进制 ...

  3. js函数( 普通函数、箭头函数 ) 内部this的指向

    - 普通函数   | 具名普通函数.匿名普通函数,在不作为对象的属性值的情况下,其内部的 this 总是指向代码运行环境下的全局对象 ( 例如,浏览器中的 window ). 示例: (functio ...

  4. IO流的文件输入输出效率问题

    IO流的文件输入输出效率问题 第一种方法 我用使用一个数组,把FIleInputStream获取到的二进制数存入这个数组,然后使用FIleOutputStream进行输出 缺点:速度慢 优点:不消耗内 ...

  5. Java SE 多态

    1.多态 方法的多态 //方法重载体现多态 A a = new A(); //这里我们传入不同的参数,就会调用不同sum方法 System.out.println(a.sum(10,20)); Sys ...

  6. windows下 Rust 环境配置

    搭建 Visual Studio Code 开发环境 首先,需要安装最新版的 Rust 编译工具和 Visual Studio Code. Rust 编译工具:https://www.rust-lan ...

  7. 第一章:模型层 - 5:模型的元数据Meta

    模型的元数据,指的是"除了字段外的所有内容",例如排序方式.数据库表名.人类可读的单数或者复数名等等.所有的这些都是非必须的,甚至元数据本身对模型也是非必须的.但是,我要说但是,有 ...

  8. 使用Elasticsearch的processors来对csv格式数据进行解析

    来源数据是一个csv文件,具体内容如下图所示: 导入数据到es中 有两种办法,第一种是在kibana界面直接上传文件导入 第二种方法是使用filebeat读取文件导入 这里采用第二种办法 配置文件名: ...

  9. Django命令

    (venv) E:\Py_CODE\myapp>python manage.py --help Type 'manage.py help <subcommand>' for help ...

  10. typescript-void-object-unknown-never-Function类型

    viod object类型 unknown类型 never类型 function类型 {{uploading-image-89562.png(uploading...)}}