搭建本身的博客(一):前期準備

目前想要本身搭建一個我的博客,在這記錄博客搭建的過程。html

博客採用Django框架搭建。該框架能夠快速搭建出一個網站,而且是一個開源框架,由python編寫。python

 

一、目前的博客想法比較簡單。主要對博客的功能有以下幾個方面:mysql

暫時先想着實現這些功能,等搭建好以後在完善其餘模塊。git

二、須要哪些技能web

三、搭建虛擬環境sql

我的開發環境是Ubuntu系統,python3.6,pycharm。windows環境下也相似。數據庫

今天想着先把環境搭建好。django

 首先搭建虛擬環境:json

選定一個目錄做爲開發目錄,我選擇了MyBlogs文件夾。windows

進入MyBlogs。

felix@felix-computer:~/PycharmProjects$ mkdir MyBlogs
felix@felix-computer:~/PycharmProjects$ cd MyBlogs
felix@felix-computer:~/PycharmProjects/MyBlogs$ 

搭建pipenv環境,首先要安裝pipenv。執行以下命令。

pip3 install pipenv

初始化虛擬環境:pipenv install

 

安裝django:pipenv install django

而後初始化包管理:git init

 而後使用pycharm打開剛纔建立的目錄。打開會發現多了兩個文件,一個是Pipfile,一個是Pipfile.lock文件,而且下面的terminal,已經進入了虛擬環境

建立.gitignore文件。

# python的
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/


# pycharm的
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn.  Uncomment if using
# auto-import.
# .idea/modules.xml
# .idea/*.iml
# .idea/modules

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
.gitignore

建立README.md文件,用來寫描述文件

最後的目錄結構。

四、建立django項目。

在命令行執行下面命令建立django項目:

django-admin startproject myblog

能夠看到多了myblog文件夾,這個就是簡單的建立了django項目。

 而後建立博客app

執行以下命令:

cd myblog/  # 進入
python manage.py startapp blog  # 建立博客app

效果以下:(myblog目錄下多了剛纔建立的blog文件夾)

建立完後,pycharm可能沒法識別咱們的django目錄,設置一下。

而後設置django的服務以及端口:

接下來打開django的settings文件,修改一些設置。

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans' # 語言設置成簡體中文

# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai' # 時區設置成東八區

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog.apps.BlogConfig',  # 將本身建立的app添加到設置中
]

# 須要使用mysql,更改django默認數據庫引擎
DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'myblogs',  # 要鏈接的數據庫,鏈接前須要建立好
        'USER': 'root',  # 鏈接數據庫的用戶名
        'PASSWORD': 'felixwang',  # 鏈接數據庫的密碼
        'HOST': '127.0.0.1',  # 鏈接主機,默認本級
        'PORT': 3306  # 端口 默認3306
    }
}

由於使用數據庫是mysql,因此要在myblog文件夾中的__init__.py中指定:

# 將mysql當作默認數據庫
import pymysql   # 經過pipenv install pymysql  安裝
pymysql.install_as_MySQLdb()

最後運行django 服務

python manage.py runserver

飄紅的地方說咱們沒有作數據庫遷移。停掉服務,執行以下兩條命令:

python manage.py makemigrations # 數據庫遷移
python manage.py migrate

 

 最後咱們運行服務:

此次沒有飄紅。咱們打開瀏覽器,運行上圖中的地址。

 

至此咱們的環境就搭建好了。不知不覺花了將近兩個多小時寫博客。恩,等有空繼續。記得git add 和 git commit 用git保存咱們的進度。

相關文章
相關標籤/搜索