您当前的位置: 首页 >  Python

Peter_Gao_

暂无认证

  • 2浏览

    0关注

    621博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

用pycharm基于django快速搭建python的web项目

Peter_Gao_ 发布时间:2019-09-04 10:56:51 ,浏览量:2

一、配置系统环境

检测是否安装好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错误。

需要重新设置下路由

 

 

 

 

 

 

 

 

 

关注
打赏
1664521772
查看更多评论
立即登录/注册

微信扫码登录

0.0393s