1 前台全局样式和js配置
-第一步:创建一个css样式
-第二步:在main.js中引入即可
import './assets/css/global.css'
-跟后端交互,有个后端地址,设置成一个变量,以后要换,只要改这个变量即可
-第一步:写一个settings
export default {
base_url:'http://127.0.0.1:8000',
}
-第二步:在main.js中引入
import settings from '@/assets/js/settings'
//把settings对象,放到了Vue的原型中,相当于放到了Vue类中,类可以拿到,对象也可以拿到
Vue.prototype.$settings=settings
-第三步:以后再任意组件中直接使用
this.$settings
2 前台使用axios,cookies,elementui
-第一步:安装
cnpm install axios -S
-第二步:在main.js中引入
import axios from 'axios'
Vue.prototype.$axios=axios
-第三步:使用
this.$axios.get()
-第一步:安装
cnpm install vue-cookies -S
-第二步:在main.js中引入
import cookies from 'vue-cookies'
Vue.prototype.$cookies=cookies
-第三步:使用
this.$cookies.set('key','value',秒)
this.$cookies.get('key')
cnpm install element-ui -S
-cookie:会放到客户端浏览器的cookie中,有过期时间
-sessionStroage:放在客户端浏览器的会话存储中,没有过期时间,关闭浏览器,就没了
-localStorage:放在客户端浏览器的会话存储中,没有过期时间,永久生效
3 后台主页模块接口
-瀑布开发模式:设计,开发,测试,上线
-敏捷开发:按板块设计,开发,测试,上线 (周期基本上一个周,)
-学bbs时候,数据完全设计好了 瀑布开发模式
第二步:在models中创建轮播图表
-写一个基表
class BaseModel(models.Model):
created_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
updated_time = models.DateTimeField(auto_now=True, verbose_name='最后更新时间')
is_delete = models.BooleanField(default=False, verbose_name='是否删除')
is_show = models.BooleanField(default=True, verbose_name='是否上架')
orders = models.IntegerField(verbose_name='优先级')
class Meta:
abstract = True
第三步:迁移数据
python manage.py makemigrations
python manage.py migrate
第四步:录入数据 后台admin
-写个表:表中字段
-image:图片
-link:跳转地址
-type:跳转类型(0:跳app内部,1:跳外链,浏览器打开)
-写接口
{code:100,msg:成功,image:'http://127.0.0.1/media/banner/a.png',type:0,link:'Home'}
4 跨域问题详解,前后端打通
同一个域(同源):ip地址和端口号完全一致
请求发出去,后端执行了,但是到前端浏览器,被拦截了,不让进
-简单请求只发一次
-非简单请求发送两次---》第一次是options预检请求,如果允许,再发送第二次真正的请求
-满足以下两个条件,就是简单请求
1 请求方法是以下三种方法之一:
HEAD
GET
POST
2 HTTP的头信息不超出以下几种字段:
Accept
Accept-Language
Content-Language
Last-Event-ID
Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plain
-写个中间件---process_resposne中
from django.utils.deprecation import MiddlewareMixin
class CorsMiddleWare(MiddlewareMixin):
def process_response(self,request,response):
if request.method=="OPTIONS":
response["Access-Control-Allow-Headers"]="Content-Type"
response["Access-Control-Allow-Origin"] = "*"
return response
-第一步:安装---装完确认以下django版本是否还是2.2.2
pip3 install django-cors-headers
-第二步:把它加入到app中
INSTALLED_APPS = (
...
'corsheaders',
...
)
-第三步:加入中间件
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
-第四步:配置文件
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
)
CORS_ALLOW_HEADERS = (
'accept-encoding',
'authorization',
'content-type',
'origin',
'user-agent',
)
5 自定义配置
第一步:在settings文件夹下新建common_settings.py
第二步:写入 BANNER_COUNT = 3
第三步:在配置文件中导入
from settings.common_settings import *
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示