基于django快速开发一个网站(一)
发布日期:2021-05-09 09:14:31 浏览次数:16 分类:博客文章

本文共 4467 字,大约阅读时间需要 14 分钟。

*  创建虚拟环境、基于虚拟环境创建django==2.0.0和图片加载库和mysql数据库驱动

1. 创建目录并创建虚拟环境

╰$ mkdir Cornucopiavirtualenv╰$ cd Cornucopiavirtualenv╰$ virtualenv env1

2. 进入bin目录,并激活虚拟环境

╰$ cd bin

╰$ source activate

3. 进入环境、创建django和Pillow、PyMySQL

╰$ pip install django==2.0.0╰$ pip install pillow╰$ pip install pymysql或者也可以╰$ pip install pymysql pillow django==2.0.0

4. 创建Cornucopia的项目并设置book模块,并设置中文和中国上海的时区

╰$ django-admin startproject Cornucopia╰$ python3 manage.py startapp book

4-1. 设置中文和中国上海的时区(在settings.py中修改)

LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'Asia/Shanghai'

5. 创建model模型数据

class User(models.Model):    nickname = models.CharField(max_length=50, blank=True)    email = models.EmailField('email address', blank=True, unique=True)    def __str__(self):        return self.nicknameclass Category(models.Model):    name = models.CharField('分类名称', max_length=128)    def __str__(self):        return self.name    class Meta:        verbose_name = '书籍分类'        verbose_name_plural = verbose_nameclass Tag(models.Model):    name = models.CharField('标签', max_length=128)    def __str__(self):        return self.name    class Meta:        verbose_name = '书籍标签'        verbose_name_plural = verbose_nameclass Entry(models.Model):    title = models.CharField('文章标题', max_length=128)    author = models.ForeignKey(User, verbose_name='作者', on_delete=models.CASCADE)    book_imge = models.ImageField(upload_to='blog_img', null=True, blank=True, verbose_name='书籍配图')    # body = models.TextField('正文', )    body = MDTextField()    # abstract = models.TextField('摘要', max_length=256, null=True, blank=True)    abstract = MDTextField()    visiting = models.PositiveIntegerField('访问量', default=0)    category = models.ManyToManyField('Category', verbose_name='博客分类')    tags = models.ManyToManyField('Tag', verbose_name='标签')    created_time = models.DateTimeField('创建时间', auto_now_add=True)    modifyed_time = models.DateTimeField('修改时间', auto_now=True)    def __str__(self):        return self.title    class Meta:        ordering = ['-created_time']        verbose_name = '    书籍正文'        verbose_name_plural = verbose_name

6.  设置数据库链接方式在settings.py中修改

import pymysqlpymysql.install_as_MySQLdb()DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',        'NAME': 'books',  # 数据库名字        'USER': 'root',  # 账号        'PASSWORD': '',  # 密码        'HOST': 'localhost',  # IP        'PORT': '3306',  # 端口    }    # 'default': {    #     'ENGINE': 'django.db.backends.sqlite3',    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),    # }}

7. 将新的模块book加入系统中

# Application definitionINSTALLED_APPS = [    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'book',]

8.  迁移数据、到数据库

╰$ python3 manage.py makemigrations╰$ python3 manage.py migrate

9. 创建超级管理员,根据提示一步一步来

╰$ python3 manage.py createsuperuser

10. 在urls.py中进行路由配置

from django.conf.urls import url, includefrom django.contrib import adminurlpatterns = [    url(r'admin/', admin.site.urls),    url(r'^', include('book.urls')),]

11. 在book模块中,创建urls.py配置路由

from django.conf.urls import urlfrom . import viewsapp_name = 'book'urlpatterns = [    url(r'^$', views.index, name='book_index'),    url(r'^(?P
[0-9]+)', views.detail, name='book_detail'),]

12. 配置前端页面在Cornucopia/book下创建templates/book,两个目录,在settings.py配置templates路径

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',            ],        },    },]

13. 创建index.html和detail.html

 

 

14.配置静态文件目录在Cornucopia/book下创建static/css,两个目录,在settings.py配置templates路径

STATIC_URL = '/static/'STATICFILES_DIRS = [    os.path.join(BASE_DIR, 'static').replace('\\', '/'),]

15.admin.py配置后台现在内容

from django.contrib import adminfrom . import modelsclass EntryAdmin(admin.ModelAdmin):    list_display = ['title','author','visiting','created_time','modifyed_time']admin.site.register(models.Category)admin.site.register(models.Tag)admin.site.register(models.Entry,EntryAdmin)

16.启动程序、登入后台

╰$ python3 manage.py runserver 127.0.0.1:8001

 

 

上一篇:基于django快速开发一个网站(二)
下一篇:思考力在软件工程中的重要性

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月24日 21时03分54秒