Pinax (Django 2.0.2 快速搭建骨架)

它就是一个Django开发骨架,方便我们快速搭建一个网站 参考地址

  • pip install pinax-cli
  • 命令格式: pinax start <kind> <project_name>
  • 解决编码问题,执行下面2行代码
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
  • pinax start account mysite #这个动作等于下面的操作
pip install Django==2.0
django-admin startproject --template=https://github.com/pinax/pinax-starter-projects/zipball/account mysite
  • pip install -r requirements.txt
  • ./manage.py migrate
  • ./manage.py loaddata sites
  • ./manage.py createsuperuser
  • npm i 不要急着执行,先去下面(遇到的小坑)看一下!
  • npm run dev

  • pinax projects #列出可以安装使用的骨架项目<kind>
Release Project
------- ---------------
  4.0.3 account
  4.0.3 blog
  2.0.3 company
        documents
        social-auth
  4.0.3 static
  4.0.3 stripe
        team-wiki
  3.0.3 waitinglist
        wiki
  4.0.3 zero

  • pinax还有很多扩展app 参考地址
  • 可以使用这些扩展app快速搭建一个网站

遇到的小坑

开发场景: 开发机Windows 7+本地Docker

  • Windows 7 编写代码,在本地Docker上测试运行pinax。Docker Container是Ubuntu16.04 64位。

  • Container和本地磁盘G盘进行了挂载。

  • pinax使用了sass编写css,所以需要node-sass模块来编译这些文件。

  • 在docker container上创建项目后,npm install安装node模块时安装在本地的是node-sass for windows,
    并非是node-sass for linux。所以这里会发生问题,也折腾了我一下午的时间。

  • 解决方法

    • pinax生成项目后,执行 npm install后,进入windows系统的pinax项目node_modules/目录里去删除node-sass目录。
    • 或者先打开package.json文件,把node-sass删除掉!然后在进行 npm install
    • 然后在docker container上安装node-sass模块。具体方法我已经发布了传送门
    • 然后 npm run dev 可以正常启动了!
  • 还没有完,再啰嗦几句。

    • 打开package.json文件后,可以看到关于browser-sync的配置,如下:
"dev:browser-sync": "browser-sync start --no-open --proxy localhost:8000 --files \"static/dist/js/*.js, static/dist/css/*.css\"",
  • --proxy localhost:8000 在这里直接可以修改IP和端口,可以这样设置 --proxy 0.0.0.0:8000 原因你懂得。
  • 我的package.json内容如下
{
  "repository": {
    "type": "git",
    "url": "https://github.com/pinax/pinax-project"
  },
  "scripts": {
    "clean": "rm -rf static/dist && mkdir -p static/dist/js && mkdir -p static/dist/css && mkdir -p static/dist/images",
    "build:js": "browserify -t [ babelify --presets [ env ] ] -t envify -o static/dist/js/site.js static/src/js/index.js",
    "build:css": "node-sass static/src/scss/index.scss static/dist/css/app.css",
    "copy:images": "cp -r static/src/images/* static/dist/images/ 2>/dev/null || :",
    "optimize:js": "uglifyjs static/dist/js/site.js -m -c warnings=false -o static/dist/js/site.js",
    "optimize:css": "cssnano static/dist/css/app.css static/dist/css/app.css",
    "optimize": "npm run optimize:js && npm run optimize:css",
    "watch:test": "onchange static/src/js/**/*.js -- npm run test",
    "watch:lint": "onchange static/src/js/**/*.js -- npm run lint",
    "watch:js": "watchify -t [ babelify --presets [ env ] ] -t envify static/src/js/index.js -o 'exorcist static/dist/js/site.js.map > static/dist/js/site.js' -dv",
    "watch:css": "node-sass static/src/scss/index.scss static/dist/css/app.css --watch -r",
    "build": "npm run clean && concurrently \"npm run build:js\" \"npm run build:css\" \"npm run copy:images\" && npm run optimize",
    "watch": "npm run clean && npm run copy:images && npm run build:css && concurrently --raw \"npm run watch:lint\" \"npm run watch:js\" \"npm run watch:css\"",
    "dev:browser-sync": "browser-sync start --no-open --proxy 0.0.0.0:8000 --files \"static/dist/js/*.js, static/dist/css/*.css\"",
    "dev": "concurrently --raw \"./manage.py runserver 0:8000\" \"npm run watch\" \"npm run dev:browser-sync\"",
    "lint": "eslint static/src/**/**/*.js",
    "test": "mocha --recursive --compilers js:babel-register static/src/tests/index.js",
    "compile": "NODE_ENV=production npm run clean && concurrently \"npm run copy:images\" \"npm run build:js\" \"npm run build:css\"",
    "heroku-postbuild": "npm run compile && npm run optimize"
  },
  "license": "UNLICENSED",
  "dependencies": {
    "babel-core": "6.26.0",
    "babel-preset-env": "1.6.1",
    "babelify": "8.0.0",
    "bootstrap": "4.0.0",
    "browser-sync": "2.23.6",
    "browserify": "15.2.0",
    "chai": "4.1.2",
    "concurrently": "3.5.1",
    "cssnano": "3.10.0",
    "cssnano-cli": "1.0.5",
    "envify": "4.1.0",
    "eslint": "4.16.0",
    "eslint-plugin-babel": "4.1.2",
    "exorcist": "1.0.0",
    "jquery": "3.3.1",
    "jsdom": "11.6.2",
    "jsdom-global": "3.0.2",
    "mocha": "5.0.0",
    "node-sass": "^4.7.2",
    "onchange": "3.3.0",
    "uglify-js": "3.3.9",
    "watchify": "3.10.0"
  }
}

  • 我修改的内容有两处,--proxy 0.0.0.0:8000./manage.py runserver 0:8000
    • "dev:browser-sync": "browser-sync start --no-open --proxy 0.0.0.0:8000 --files "static/dist/js/.js, static/dist/css/.css"",
    • "dev": "concurrently --raw "./manage.py runserver 0:8000" "npm run watch" "npm run dev:browser-sync"",
  • 好吧,就这样吧!
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容