Description:
今天我做一个关于Django的一个最简单的小例子,这边我们会用到Mysql数据库
Content:
首先,我们开始创建我们的项目「command:django-admin.py startproject sundyblog」,然后我们创建我们会使用的APP
「command:django-admin.py startapp blog」
第二步骤,我们将进行关于Django的一个基本配置,我们在创建的sundyblog文件夹下面我们会发现一个叫做settings.py的文件,我们先对其进行配置
添加完应该是以下内容:
""" Django settings for sundyblog project. For more information on this file, see https://docs.djangoproject.com/en/1.7/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/1.7/ref/settings/ """ # Build paths inside the project like this: os.path.join(BASE_DIR, ...) import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'rvr!h6e#gdqvqzn#r5=43-6mz3#w58m%79-#eozag2h&3$*i8&' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True TEMPLATE_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', 'blog', ) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ) ROOT_URLCONF = 'sundyblog.urls' WSGI_APPLICATION = 'sundyblog.wsgi.application' # Database # https://docs.djangoproject.com/en/1.7/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'sundydb', 'USER': 'root', 'PASSWORD': 'redhat', 'HOST': '', 'PORT': '', } } # Internationalization # https://docs.djangoproject.com/en/1.7/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.7/howto/static-files/ STATIC_URL = '/static/' TEMPLATE_DIRS = (os.path.join(BASE_DIR, 'templates'),)
当然本节没用到template,所以那边我没改,Django1.8版本的template设置在官网上有定义。
然后我们打开models.py进行设置
from django.db import models # Create your models here. class Author(models.Model): name = models.CharField(max_length=200) age = models.IntegerField(default=18) e_mail = models.CharField(default='xx@qq.com',max_length=20) def __unicode__(self): return self.name class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() author = models.ForeignKey(Author) def __unicode__(self): return self.title
这边我加了两个类,一个是Author类一个是Article类,增加 unicode方法是为了在admin里面正常显示,而不让其出现Object的样子
我们这个步骤做完后,进入Mysql数据库添加一个叫做sundydb的数据库,因为之前我在settings.py里面已经指明了我使用了是一个名为sundydb的Mysql数据库,使用「command:mysql -uroot -p」输入密码进入你的Mysql数据库,当然如果你没有设置过Mysql 请自行Google,还有一个关于生产环境的建议,不要在Django中设置root用户登录Mysql,这样会带来安全隐患,当然我这边只是一个演示作用,所以我使用了。开始创建sundydb数据库,「command:create database sundydb;」
创建完数据库之后,我们开始进行一个makemigrations的操作「command:python manage.py makemigrations」「command:python manage.py migrate」进行数据库同步
创建超级用户,用来登录Django自带的管理后台,「command:python manage.py createsuperuser」
设置完了之后开始admin功能,之前的settings.py中我已经设置好了 ,我们接下来要从blog文件夹下地admin.py进行配置
from django.contrib import admin from blog.models import * # Register your models here. admin.site.register(Author) admin.site.register(Article)
这个步骤是为了进行注册模块
最后我们进行url设置,这边呢工程已经默认打开了admin这个 功能,url.py里面也设置好了
我们开始开启服务器:「command:python manage.py runserver」
打开浏览器:输入localhost:8000/admin
输入我们创建的超级用户
如果你的步骤没错的话,会得到以下的结果:
这边我们就可以进行一些基本的操作了