真的不太好學啊!記錄一下筆記,要不有的東西老要查!
CSRF驗證
防止偽造數據添加數據庫,關閉方式
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',
]
創建一個app
python manage.py startapp front
在__init__.py里面配置
import pymysql
pymysql.install_as_MySQLdb()
在settings.py里面初始化數據庫
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'book_manage','USER': 'root','PASSWORD': 'kouhz','HOSTNAME': '127.0.0.1','PORT': '3306'}
}
把自己創建的app添加進apps
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','front',
]
在urls.py里面添加自己文件的路徑
from django.urls import path
from front import viewsurlpatterns = [path('', views.index),path('add_book/', views.add_book, name='add_book'),path('book_detail/', views.book_detail, name='book_detail'),
]
在front里的views增加業務代碼
from django.shortcuts import render, redirect, reverse
from django.db import connection##操作數據庫需要corsor和db connection
def get_cursor():return connection.cursor()def index(request):cursor = get_cursor()cursor.execute("select id,name,author from book")books = cursor.fetchall()return render(request, 'index.html', context={"books":books})def add_book(request):passdef book_detail(request, book_id):pass
在templates里面增加html頁面
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><nav><ul class="nav"><li><a href="/">首頁</a></li><li><a href="{% url 'add_book' %}">新書上架</a></li></ul></nav>
</body>
</html>
這是頁面樣式
css初始化/在front里面闖將static在里面新建front文件夾(和app名字保持一致),再添加css文件
index.html
{% load static %}<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="{% static 'front/index.css' %}">
</head>
<body><nav><ul class="nav"><li><a href="/">首頁</a></li><li><a href="{% url 'add_book' %}">新書上架</a></li></ul></nav>
</body>
</html>
index.css
/* *代表所有標簽
外邊距位0
內邊距0
不適用瀏覽器提供的默認樣式
*/*{margin: 0;padding: 0;
}/*背景顏色 高度 默認每一個顯示一行,使用overflow讓顯示內容浮動*/
.nav{background: #3a3a3a;heigth: 65px;overflow: hidden;
}/*nva 里面的 li 標簽左浮動,list-style :去掉點*/
/*margin:上下0 左右20*/
/*字體放在中間,設置行高,和外面的nav一樣高*/
.nav li{float: left;list-style: none;margin: 0 20px;line-height: 65px;
}/*nav 的 li 標簽 的 a 設置為白色,取消下劃線*/
.nav li a{color:#fff;text-decoration: none;
}
/*鼠標放置在a上面的顏色*/
.nav li a:hover{color:pink;
}