一、配置系统环境
检测是否安装好python, git,pip,django:
Django: 安装完python之后,直接用pip安装即可
pip install django
mod_wsgi下载安装:http://oor01v2su.bkt.clouddn.com/mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl
pip install "mod_wsgi-4.5.17+ap24vc14-cp36-cp36m-win_amd64.whl"
二、用pycharm新建一个django开发项目
1、 python多版本管理工具
python版本切换的工具--pyenv应运而生。同时,另外一个工具virtualenv则提供了一种功能, 就是将一个目录建立为一个虚拟的python环境, 这样的话, 用户可以建立多个虚拟环境, 每个环境里面的python版本可以是不同的, 也可以是相同的, 而且环境之间相互独立。
2、系统环境变量与解释器路径设置
我们在创建Django项目的时候,也可以不用在More Settings里创建APP和指定templates文件夹。
点击 Create 创建新项目成功之后,我们刚才指定的目录下就多出一个goderp文件夹。打开goderp文件夹。这里是利用了原来的一个目录,README文件是原来目录带的
3、Django的目录结构
其中,blog文件夹是我们刚才创建的APP,templates文件夹是存放模板文件的,goderp文件夹,放的是Django的一些配置文件。manage.py文件则是对django-admin.py的简单包装的一个文件,通过它能运行一些简单的命令。venv文件夹就是virtualenv虚拟环境目录,venv文件夹不是django源码里的东西,只是我们创建虚拟环境时指定到这个目录下了而已。
4、添加新的APP
注意命令行前面的 (venv)出现这个,表示我们是在virtualenv虚拟环境下操作,如果没有,或者虚拟环境名和我们创建的名称不一致,说明PyCharm配置错误,我们输入任何命令对刚才我们创建的项目来说是无效的。
我们通过命令行,进入我们的项目目录,然后输入
python manage.py startapp blog
创建一个叫 blog的APP。 用同样的方法又创建了一个名称为iboss的APP
5. 卸载APP 第一步
- 删除models.py中的数据模型
无论是删除一个单独的model还是删除整个App,都需要首先删除models.py文件中的模型。确认没有其他文件引用models.py中的类。 迁移或者删除你的数据库,Django提供了简便的方法方便用户删除某App下的所有数据(Django 1.7)。
./manage.py migrate your_app_name zero
删除models.py中的数据模型。 再次确认其他App中没有引用此App的文件
第二步:
- 删除整个App文件夹
在settings.py的Installed Apps中移除该app。 在urls.py中移除该App相关内容。
D:\git\goderp>python manage.py migrate blog zero
CommandError: No installed app with label 'blog'.
D:\git\goderp>python manage.py makemigrations
No changes detected
D:\git\goderp>python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
No migrations to apply.
D:\git\goderp>python manage.py runserver 8080
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
REFRENCE http://www.marinamele.com/how-to-correctly-remove-a-model-or-app-in-django http://stackoverflow.com/questions/3329773/django-how-to-completely-uninstall-a-django-app
Django模型对象实际上是映射了数据库中的一张表。因此,我们要删除模型对象,实际上是删除数据库表中的一条或者多条记录。删除方法是调用模型对象的delete()方法。比如,我们要删除id为1的Entry对象,可以这样操作:
>>> e=Entry.objects.get(pk=1) >>> e.delete()
不仅仅可以通过单个模型对象的delete()方法来删除一条记录,我们还可以删除一组数据,方法是调用QuerySet对象的delete()方法。比如:
>>> Entry.objects.filter(pub_date__year=2012).delete()
上面这行代码会删除所有发布日期是2012年的Entry记录。需要注意的是,如果我们在模型类中自定义了一个delete()方法,那么就不能调用QuerySet级别的delete()方法了(那时可能需要循环整个QuerySet,然后一个个的删除)。 另外,当我们调用一个模型对象的delete()方法时,其关联的子对象(与其有外键关联关系的对象)也会被删除。比如一个Blog有多个Entry,那么如果我们删除一个Blog,那么这个Blog包含的Entry也会被删除。比如:
b = Blog.objects.get(pk=1) # 下面的代码会同时删除Blog下面的所有Entry记录。 b.delete()
6、迁移数据库
在Terminal下输入下面的命令,生成和同步数据库。
python manage.py makemigrations # 将修改写入小本本
python manage.py migrate # 将修改的内容翻译成SQL语句执行
(venv) D:\projects\goderp>python manage.py makemigrations
No changes detected
(venv) D:\projects\goderp>python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
7、启动Django项目
在Terminal下输入
python manage.py runserver 8080
8080是我们指定的启动端口,如果不指定,默认则是8000
(venv) D:\projects\goderp>python manage.py runserver 8000
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
September 04, 2019 - 10:35:31
Django version 2.2.5, using settings 'goderp.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[04/Sep/2019 10:35:49] "GET / HTTP/1.1" 200 16348
[04/Sep/2019 10:35:49] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423
[04/Sep/2019 10:35:49] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184
[04/Sep/2019 10:35:49] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876
[04/Sep/2019 10:35:49] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692
Not Found: /favicon.ico
[04/Sep/2019 10:35:49] "GET /favicon.ico HTTP/1.1" 404 1972
打开浏览器查看验证django网站成功运行。
三、组织前端项目
1、建立第一个页面index.html
在任一目录下创建一个新目录并用pycharm打开,并新建一个html网页文件。修改title,添加一个h1标签标题。
2、 制作HTML模版
使用SemanticUI的css样式.
打开semantic-ui.com官网, 直接浏览器右键查看页面源代码。
可以找到 semantic.min.css 链接
打开链接后把所有css代码全选复制
在本地当前目录firsthtml下新建目录css, 在里面新建css文件semantic-min.css, 把前面复制的内容粘贴到此文件。
注意把里面的一个带google的链接删掉,以提高访问速度。
然后在index.htm的head标签内引用这个css文件提供的样式。并再添加一个mystyle.css的新css文件。
具体css排版不细讲。
3、将模版置入Django项目
前面创建的APP目录下新建一个templates目录用来放模版文件,再创建一个static目录用来放其它css等静态文件
通过前面的一系列html页面和css样式的排版,我们有了一个完整的前端模版文件moban1445,将index.html 文件放到template目录下,其它几个文件夹css, icon,image,js都放入static目录下
目录结构:
4. 全局配置
5. 配置路由
6、合并数据库并启动
(venv) D:\projects\goderp>python manage.py makemigrations
会报错
AttributeError: 'Settings' object has no attribute 'IMAGES_URL'
把urls.py里多余的 IMAGES路由去掉即可
+ static(settings.IMAGES_URL, document_root=settings.IMAGES_ROOT)
7、启动Django server
默认主页路由已经改过,打开后报404错误。
需要重新设置下路由