Django学习笔记《一》初始化pycharm和mysql数据库及相关环境

真的不太好学啊!记录一下笔记,要不有的东西老要查!

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 views


urlpatterns = [
    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):
    pass


def book_detail(request, book_id):
    pass

在templates里面增加html页面




    
    Title


    


这是页面样式

Django学习笔记《一》初始化pycharm和mysql数据库及相关环境_第1张图片

css初始化/在front里面闯将static在里面新建front文件夹(和app名字保持一致),再添加css文件

index.html

{% load static %}





    
    Title
    


    


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;
}

你可能感兴趣的:(python3)