django基本流程
创建项目
django-admin startproject web
cd web
python manage.py startapp weblist
生成迁移文件
python manage.py makemigrations
生成迁移数据
python manage.py migrate
运行
python manage.py runserver
settings配置
"""
Django settings for web project.
Generated by 'django-admin startproject' using Django 4.0.2.
For more information on this file, see
https://docs.djangoproject.com/en/4.0/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/4.0/ref/settings/
"""
import os
from pathlib import Path
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-o%&42(%9p0r(8(_jn#re&7b!$_ln45s$(-7-a_*((!#h+k*s_b'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['*']
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 'weblist.templatetags',
'weblist',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'web.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 'DIRS': [],
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'web.wsgi.application'
# Database
# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'jiale',
'POST':3306,
'HOST':'localhost',
'USER':'root',
'PASSWORD':'123456'
}
}
# Password validation
# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/4.0/topics/i18n/
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.0/howto/static-files/
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]
UPLOAD_FILE = os.path.join(BASE_DIR,'upload')
# Default primary key field type
# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
# DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
路由分发
#主路由
from django.contrib import admin
from django.urls import path,include
from django.views.static import serve
from web import settings
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('weblist.urls')),
path('upload/<path>',serve,{'document_root':settings.UPLOAD_FILE})
]
#子路由
# from django.contrib import admin
from django.urls import path
from weblist import views
urlpatterns = [
# path('admin/', admin.site.urls),
path('login/', views.Login.as_view()),
path('index/', views.Index.as_view()),
path('reg/', views.Reg.as_view()),
]
注册
from django.shortcuts import render,redirect
from django.http import HttpResponse,JsonResponse
from rest_framework.views import APIView
from django.views.generic import View
from weblist.models import *
# from weblist.myserializer import *
import os
from web import settings
# 新闻资讯注册
import re
class Reg(View):
def get(self,request):
return render(request,'reg.html')
def post(self,request):
name = request.POST.get('name')
passwd = request.POST.get('passwd')
phone = request.POST.get('phone')
if not all([name,passwd,phone]):
mes='请输入完整信息'
else:
user = User.objects.filter(name=name).first()
if user:
mes='用户已存在'
else:
user = User(name=name,passwd=passwd,phone=phone)
user.save()
return redirect('/api/login')
return render(request,'login.html',locals())
templates页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{{mes}}
<form action="" method="POST">
用户名:<input name='name'>
密码<input name='passwd'>
手机号<input name='phone'>
<button type="submit">注册</button>
</form>
</body>
</html>
django基本流程的更多相关文章
- django的流程和命令行工具
django实现流程django #安装: pip3 install django 添加环境变量 #1 创建project django-admin startproject mysite ---my ...
- Django 工作流程
一.Django 工作流程 在开始具体的代码之旅前,先来宏观地看下Django是如何处理Http Resquest的,如下图: 假设你已经在浏览器输入了 http://127.0.0.1:8000/p ...
- IIS 部署 Python Django网站流程(受够了野路子)
知道的,百度上搜出来的东西质量令人唏嘘.当你求助的时候多半还得靠自己,或者靠Google 介入正题,详细来一遍流程吧 当然,我是用Visual Studio 2019 来编辑开发Django项目的,如 ...
- Django基础流程
软件环境: Pycharm 2018.1 Python 3.6 Django 2.0.3 1.新建项目 直接使用Pycharm的菜单来创建项目,命名为mysite. mysite mysite __i ...
- linux部署django项目流程(全)
1.python3和python2共存配置 流程在下面网址中 https://www.cnblogs.com/vinic-xxm/p/11358894.html 2.安装依赖包 yum install ...
- 宝塔面板成功部署Django项目流程
宝塔面板部署Django项目完整流程 上线Django项目记录,超简单,避免无意义的踩坑! 第一步:安装python管理器 在宝塔在线面板安装“python项目管理器” 第二步:安装适配python版 ...
- Django项目流程(摘抄整理)
1.操作环境 Windows 8.1 Django 1.9 Python 2.7.10 2.创建工程 在cmd中运行后面的所有命令:
- BAE部署Django项目流程整理
1.首先在BAE上创建一个应用名称并付费2.把应用文件夹git到本地,此时文件夹会多出三个文件app.conf,favicon.ico,index.py3.在应用文件夹内创建本地项目:myblog,并 ...
- Django处理流程
用户通过浏览器发送请求 请求到达request中间件,中间件对request请求做预处理或者直接返回response 若未返回response,会到达urlconf路由,找到对应视图函数 视图函数做相 ...
- Django 之 流程和命令行工具
一.一个简单的web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所 ...
随机推荐
- 通过mybatis-plus的自定义拦截器实现控制 mybatis-plus的全局逻辑删除字段的控制 (修改其最终执行的sql中的where条件)
需求:过滤部分请求不实现mybatis-plus的逻辑删除 看到网上关于mybatis-plus的自定义拦截器的文章有的少 想了想自己写了一篇 欢迎参考 指正 通过springboot的拦截器 在请求 ...
- Python 利用pandas和matplotlib绘制双柱状图
在数据分析和可视化中,常用的一种图形类型是柱状图.柱状图能够清晰地展示不同分类变量的数值,并支持多组数据进行对比.本篇文章将介绍如何使用Python绘制双柱状图. 准备工作 在开始绘制柱状图之前,需要 ...
- Bean常用的属性
Bean常用的属性介绍 <bean name="xxx" class="指定的bean类" scope="singleton"> ...
- Unity学习笔记--数据持久化XML文件(2)
IXmlSerializable接口: 使用该接口可以帮助处理不能被序列化和反序列化的特殊类得到处理, 使特殊类继承IXmlSerializable接口 ,实现其中的读写方法,检测到读写方法被重写之后 ...
- Spring系列:基于Spring-AOP和Spring-Aspects实现AOP切面编程
目录 一.概念及相关术语 概念 相关术语 ①横切关注点 ②通知(增强) ③切面 ④目标 ⑤代理 ⑥连接点 ⑦切入点 作用 二.基于注解的AOP 技术说明 准备工作 创建切面类并配置 各种通知 切入点表 ...
- Java8新特性Optional
Optional类的方法 1.empty private static void createNullOptional() { // 创建一个空的Optional实例 // 方式一 Optional& ...
- 华企盾DSC使用outlook发送加密文件提示解密插件未加载
1.如果是非exchange邮箱,不能勾选"启用邮件白名单outlook插件(exchange邮箱建议勾选)" 2.如果是exchange邮箱则需要勾选"启用邮件白名单 ...
- 数字孪生和GIS结合将会为智慧园区带来怎样的改变?
数字孪生和地理信息系统(GIS)是当今智慧园区发展中的两个重要技术,它们的结合将为智慧园区带来根本性的改变和巨大的发展机遇.这种结合将深刻影响园区的规划.建设.运营和管理,为人们创造更智能.高效.可持 ...
- S32Kxxx bootloader之CAN FD UDS bootloader
了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 六年前, 汽车内ECU ...
- 复习:Java基础-泛型方法
泛型 大家都很熟悉了 泛型方法呢 可能很多小伙伴都有混淆,今天来稍微复习一下 泛型方法(普通方法) public class Test<T> { public T f(T c) { //注 ...