diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d695c46..0000000 --- a/.travis.yml +++ /dev/null @@ -1,38 +0,0 @@ -dist: xenial -language: python -sudo: required -python: - - "3.6" - - "3.7" - - "3.8" - -services: - - mysql -env: - global: - - DJANGO_SETTINGS_MODULE="travis_test.travis_settings" -branches: - only: - - master -# command to install dependencies -before_install: - - sudo apt-get update - - sudo apt-get install python-dev python3-dev libmysqlclient-dev -y - - sudo cp $TRAVIS_BUILD_DIR/travis_test/mysql.cnf /etc/mysql/conf.d/ - - sudo service mysql restart -install: - - pip install -r requirements.txt - - pip install python-coveralls - - pip install coverage codecov -before_script: - - mysql -e 'CREATE DATABASE `djangoblog` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci */;' - - python manage.py makemigrations - - python manage.py migrate - - python manage.py collectstatic --noinput - - python manage.py compress --force -# command to run tests -script: - - coverage run manage.py test -after_success: - - coveralls - - codecov \ No newline at end of file diff --git a/README.md b/README.md index 1c5ddc6..33cac9d 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ 基于`python3.8`和`Django3.0`的博客。 -[![Build Status](https://travis-ci.org/liangliangyy/DjangoBlog.svg?branch=master)](https://travis-ci.org/liangliangyy/DjangoBlog) [![codecov](https://codecov.io/gh/liangliangyy/DjangoBlog/branch/master/graph/badge.svg)](https://codecov.io/gh/liangliangyy/DjangoBlog) [![Requirements Status](https://requires.io/github/liangliangyy/DjangoBlog/requirements.svg?branch=master)](https://requires.io/github/liangliangyy/DjangoBlog/requirements/?branch=master) [![license](https://img.shields.io/github/license/liangliangyy/djangoblog.svg)]() +[![Django CI](https://github.com/liangliangyy/DjangoBlog/actions/workflows/django.yml/badge.svg)](https://github.com/liangliangyy/DjangoBlog/actions/workflows/django.yml) [![CodeQL](https://github.com/liangliangyy/DjangoBlog/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/liangliangyy/DjangoBlog/actions/workflows/codeql-analysis.yml) [![codecov](https://codecov.io/gh/liangliangyy/DjangoBlog/branch/master/graph/badge.svg)](https://codecov.io/gh/liangliangyy/DjangoBlog) [![Requirements Status](https://requires.io/github/liangliangyy/DjangoBlog/requirements.svg?branch=master)](https://requires.io/github/liangliangyy/DjangoBlog/requirements/?branch=master) [![license](https://img.shields.io/github/license/liangliangyy/djangoblog.svg)]() ## 主要功能: - 文章,页面,分类目录,标签的添加,删除,编辑等。文章及页面支持`Markdown`,支持代码高亮。 diff --git a/blog/views.py b/blog/views.py index 750160d..98c738d 100644 --- a/blog/views.py +++ b/blog/views.py @@ -1,3 +1,5 @@ +import uuid + from django.shortcuts import render # Create your views here. @@ -293,7 +295,7 @@ def fileupload(request): type='files' if not isimage else 'image', timestr=timestr, filename=filename) if not os.path.exists(basepath): os.makedirs(basepath) - savepath = os.path.join(basepath, filename) + savepath = os.path.join(basepath, f"{uuid.uuid4().hex}{os.path.splitext(filename)[-1]}") with open(savepath, 'wb+') as wfile: for chunk in request.FILES[filename].chunks(): wfile.write(chunk) @@ -321,7 +323,7 @@ def refresh_memcache(request): return HttpResponseForbidden() except Exception as e: logger.error(e) - return HttpResponse(e) + return HttpResponse("error") def page_not_found_view( diff --git a/docs/README-en.md b/docs/README-en.md index fcbf64a..ef36563 100644 --- a/docs/README-en.md +++ b/docs/README-en.md @@ -5,7 +5,9 @@ A blog system based on `python3.8` and `Django3.0`. -[![Build Status](https://travis-ci.org/liangliangyy/DjangoBlog.svg?branch=master)](https://travis-ci.org/liangliangyy/DjangoBlog) [![codecov](https://codecov.io/gh/liangliangyy/DjangoBlog/branch/master/graph/badge.svg)](https://codecov.io/gh/liangliangyy/DjangoBlog) [![Requirements Status](https://requires.io/github/liangliangyy/DjangoBlog/requirements.svg?branch=master)](https://requires.io/github/liangliangyy/DjangoBlog/requirements/?branch=master) [![license](https://img.shields.io/github/license/liangliangyy/djangoblog.svg)]() + +[![Django CI](https://github.com/liangliangyy/DjangoBlog/actions/workflows/django.yml/badge.svg)](https://github.com/liangliangyy/DjangoBlog/actions/workflows/django.yml) [![CodeQL](https://github.com/liangliangyy/DjangoBlog/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/liangliangyy/DjangoBlog/actions/workflows/codeql-analysis.yml) [![codecov](https://codecov.io/gh/liangliangyy/DjangoBlog/branch/master/graph/badge.svg)](https://codecov.io/gh/liangliangyy/DjangoBlog) [![Requirements Status](https://requires.io/github/liangliangyy/DjangoBlog/requirements.svg?branch=master)](https://requires.io/github/liangliangyy/DjangoBlog/requirements/?branch=master) [![license](https://img.shields.io/github/license/liangliangyy/djangoblog.svg)]() + ## Main Features: - Articles, Pages, Categories, Tags(Add, Delete, Edit), edc. Articles and pages support `Markdown` and highlighting. diff --git a/travis_test/__init__.py b/travis_test/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/travis_test/mysql.cnf b/travis_test/mysql.cnf deleted file mode 100644 index e6f1645..0000000 --- a/travis_test/mysql.cnf +++ /dev/null @@ -1,9 +0,0 @@ -[mysqld] -character-set-server=utf8mb4 -collation-server=utf8mb4_unicode_ci - -[client] -default-character-set = utf8mb4 - -[mysql] -default-character-set = utf8mb4 \ No newline at end of file diff --git a/travis_test/travis_settings.py b/travis_test/travis_settings.py deleted file mode 100644 index b008fa4..0000000 --- a/travis_test/travis_settings.py +++ /dev/null @@ -1,19 +0,0 @@ -from DjangoBlog.settings import * - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.mysql', - 'NAME': 'djangoblog', - 'USER': 'travis', - 'PASSWORD': '', - 'HOST': '127.0.0.1', - 'PORT': 3306, - } -} - -CACHES = { - 'default': { - 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', - 'LOCATION': 'django_cache', - } -}