上课前django需要的前期准备

这里只是记录上课前要做的django准备

创建项目

django-admin startproject mysite  可以用这个命令

也可以直接用pycharm创建

创建app

进入到刚才创建的项目目录中执行命令:

python manage.py startapp app01

配置基本设置

在setting中设置

"""
Django settings for day20 project.

Generated by ‘django-admin startproject‘ using Django 1.10.4.

For more information on this file, see
https://docs.djangoproject.com/en/1.10/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.10/ref/settings/
"""

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = ‘y*[email protected]&^vhvq(g(=8t-%q-(8v$_$tjbez-wjoirii$8_r6d=*‘

# 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‘,
    ‘app01‘,
]

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 = ‘day20.urls‘

TEMPLATES = [
    {
        ‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘,
        ‘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 = ‘day20.wsgi.application‘

# Database
# https://docs.djangoproject.com/en/1.10/ref/settings/#databases

DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.sqlite3‘,
        ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),
    }
}

# Password validation
# https://docs.djangoproject.com/en/1.10/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/1.10/topics/i18n/

LANGUAGE_CODE = ‘en-us‘

TIME_ZONE = ‘UTC‘

USE_I18N = True

USE_L10N = True

USE_TZ = True

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/

STATIC_URL = ‘/static/‘
STATICFILES_DIRS=(
    os.path.join(BASE_DIR, ‘static‘),
                  )

如果有多个app要用include

同名项目的url设置

from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
    url(r‘^admin/‘, admin.site.urls),
    url(r‘^cmdb/‘, include("app01.urls")),
    url(r‘^monitor/‘, include("app02.urls")),
]

在app里面新建立一个url.py

from django.conf.urls import url,include
from django.contrib import admin
from app01 import views

urlpatterns = [
    url(r‘^login/‘, views.login),
    url(r‘^index/‘, views.index),
    url(r‘^user_info/‘, views.user_info),
    url(r‘^userdetail-(?P<nid>\d+)/‘, views.user_detail),
    url(r‘^userdel-(?P<nid>\d+)/‘, views.user_del),
    url(r‘^useredit-(?P<nid>\d+)/‘, views.user_edit),
    url(r‘^orm/‘, views.orm),
]

这样就实现了多个app共从

下面是需要导入的模块项目的url中

from django.conf.urls import url,include
from django.contrib import admin
from app01 import views

先这里加入创建的app不加数据库创建不了数据

INSTALLED_APPS = [
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘app01‘,
]

注销一个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‘,
]

模版的路径配置

TEMPLATES = [
    {
        ‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘,
        ‘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‘,
            ],
        },
    },
]

数据库的配置

DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.sqlite3‘,
        ‘NAME‘: os.path.join(BASE_DIR, ‘db.sqlite3‘),
    }
}

python manage.py makemigrations   创建表结构

python manage.py migrate       生效

********** 注意 ***********
Django默认使用MySQLdb模块链接MySQL
主动修改为pymysql,在project同名文件夹下的__init__文件中添加如下代码即可:
import pymysql
pymysql.install_as_MySQLdb()

静态资源的配置(要在项目目录新建立一个static目录)

STATIC_URL = ‘/static/‘
STATICFILES_DIRS=(
    os.path.join(BASE_DIR, ‘static‘),
                  )

启动项目

直接pycharm点击启动

或者命令;python.exe G:/python/day20/manage.py runserver 8000

时间: 2024-11-10 07:56:21

上课前django需要的前期准备的相关文章

Django之路 - 项目实战之&lt;教育行业CRM开发&gt;

本节内容 业务痛点分析 项目需求讨论 使用场景分析 表结构设计 业务痛点分析 我2013年刚加入老男孩教育的时候,学校就一间教室,2个招生老师,招了学生后,招生老师就在自己的excel表里记录一下,每月算工资时,就按这个表来统计招生提成, 后来学校大了点,教室变成了3间,招生老师变成了4个人,招的学生也开始多了起来,不过大家依然是招了学生就纪录在自己的excel里,但问题开始出现了,我们的招生多是通过网络qq聊天在线咨询,好多客户需要聊很久才能转化成学员,经常会出现一个客户跟一个招生老师聊过后,

windows平台安装Django

windows平台安装Django 一.前期准备 在安装Django前需要在windows平台安装好python.windows平台的Python已经安装好,版本如下: 二.中期准备 1.下载Django 下载Django的网址为:https://www.djangoproject.com/download,进去选择最新版本下载.此时的最新版本为:Django-1.11.5.tar.gz 2.解压到相应目录 下载好相应的Django版本后,将压缩包复制到Python安装目录,并且解压到Pytho

Django项目——CRM

一.开发背景 由于公司人员的增多,原来通过excel表格存取方式过于繁琐,而且对于公司人员的调配和绩效考核等不能做到精确处理,所以开发crm系统,开始开发只是针对销售人员和客户,后面陆续加上一些操作,如学校管理和教师管理,课程管理等, 二.开发周期 开发2个月,2个月后持续还在做:修复bug和新功能的开发. 最初只是开发了业务,因为时间比较紧,后面由于维护和和更有利于新功能的扩展,重新抽取组件,如stark组件和分页组件,rbac(权限组件) 三.表设计  crm  rbac  调查问卷  会议

Django 编写博客网站的用户管理部分(采用自有的 django.contrib.auth) 2. 登陆登出和用户信息管理

续前Django 编写博客网站的用户管理部分(采用自有的 django.contrib.auth) 1. 注册部分 项目工具:Python 2.7.11  Django 1.10.2  Bootstrap 3.3.0   IDE:eclipse Pydev 1. 由于Django自带auth, 故仅需编写登录登出的url和template即可 urls常见上篇 template代码如下仅供参考: login 1 {% extends "account_base.html" %} 2 3

【Django】django 处理request流程细节(转)

首先发生的是一些和 Django 有关(前期准备)的其他事情,分别是: 如果是 Apache/mod_python 提供服务,request 由 mod_python 创建的 django.core.handlers.modpython.ModPythonHandler 实例传递给 Django. 如果是其他服务器,则必须兼容 WSGI,这样,服务器将创建一个 django.core.handlers.wsgi.WsgiHandler 实例. 这两个类都继承自 django.core.handl

Django admin美化插件suit

Django Suit 效果 使用前django页面 使用后django页面 安装 官方文档 http://django-suit.readthedocs.io/en/develop/index.html pip install django-suit 环境:python2.7.10,django1.9.8 配置使用 settings设置 INSTALLED_APPS = [ 'suit', # 添加suit支持 'django.contrib.admin', 'django.contrib.a

学习liunx的日子one——了解基本指令

好激动终于学习linux了(知识源于学习) 对于网络维护我所知真是有限啊!以前一直用的是windows,感觉会装系统.会刷机就很不错了,至于dos命令很少使用,在大学有门课叫做计算机控制,这门课用到了dos的命令将写好的汇编或者C语言通过MASM.EXE和LINK.EXE进行编译,翻译成机器可以识别的二进制语言. 那么我学习的linux的命令感觉和windows的dos命令很像,并不是命令是一样的,而都是敲命令执行的,但是cd   /root/***到根目录方式是一样的,据说linux是基于un

参加老男孩linux培训心得

参加老男孩linux培训心得 时间如白驹过隙,已经不知不觉来到老男孩培训已经三个月了.在这三个月中我渐渐得到了成长,专业技术成长,以及为人处事之道与思想的提高. 我一共就总结以下了三点     一.思想 在我刚来老男孩的时候,老师天天上课前讲一段思想,我当时不太明白,不赶紧上课,讲这干啥呢?而且老师早一点讲完,又可以招下一批学生了,老讲思想,这不是自断财路么?随着时间的流逝,渐渐的我悟懂了点.人在那里都可以学技术,但是学会了技术没有思想,一旦来了新事物,就会接受的很慢.尤其在互联网这个圈子里,软

龙应台:幼稚园大学

(转载  作者:龙应台) 这是一班大三的学生:聪慧.用功.循规蹈矩,标准国立大学的好学生. 看完期末考卷,批完论文报告,我把总成绩寄出,等着学生来我我:零分或是一百分,他们总得看着卷子的眉批,与我印证讨论过之后,才能知道为什么得了一百分或零分. 假期过去了,新学期开始了,学期又结束了. 学生来找我聊天.吃消夜.谈功课:就是没有一个人问起成绩的事. 有一个成绩应该很好的学生,因为论文的注脚写得零乱散漫,我特意大幅度地降低了他的分数,希望他来质疑时告诉他一个教训:作研究,注脚与正文一样重要. 但是他