django基础,环境搭建,开始第一个项目
Posted bianyimaomaochong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django基础,环境搭建,开始第一个项目相关的知识,希望对你有一定的参考价值。
- 环境准备:Ubuntu、python 3.5+、pycharm 2017.1.5+、mysql、推荐,提供的封装好了的 Ubuntu
- python虚拟环境的重要性:什么是python虚拟环境,通过工具,将系统上的python复制了一份。-为什么要有
1.不会污染系统环境
2.不同的项目环境的隔离
-创建虚拟环境(以我们提供的ubuntu为例)
1.查看当前有哪些虚拟环境:workon
2.创建虚拟环境:mkvirtualenv -p /usr/bin/python3 envname 其中-p /usr/bin/python3是指定安装的python版本和他的路径,不需要cd到具体的目录下创建,这样创建的虚拟环境会自动创建在提前设置好的放虚拟环境的地方
3.进入虚拟环境:workon envname
4.退出虚拟环境:deactive
5.删除虚拟环境:rmvirtualenv envname - 3.django安装
pip install django 如果有版本需求,后边加上版本号 - 简单操作
1.创建项目
django-admin startproject <projectname>
2.启动项目
1)通过命令
需要cd到项目的根目录下运行(pycharm中ssh远程连接,workon进入虚拟环境,cd到项目根目录)
python manage.py runserver 0.0.0.0:8000 ---(0.0.0.0:8000)0.0.0.0是ip地址,8000是端口号,和socket服务的含义一致
然后在浏览器中输入127.0.0.1:8000/去访问,出现一个动态上升的火箭“The install worked successfully! Congratulations!”代表成功了
注意:如果访问不了,说明被禁止了,可以试试settings.py里找到ALLOWHOST=[‘‘]这项代表允许的域名 在中括号中的引号中间加一个*
停掉已经启动的项目ctrl+c
2)通过设置pycharm
pycharm界面中,一般是在运行绿箭头的左边找到add Configurations( Configurations 配置)点击进入之后Templates(Templates 模板)--》点击上边+号--》选择djangoserver--》右边具体设置分别为
Name:根据你项目根目录起个名字,Host:要运行的ip地址,这里写上0.0.0.0方便调试,用什么IP地址都能访问到,在Environment Variables(环境变量)中,加配置,分别是:
键:DJANGO_SETTINGS,值:crm.settings 完成后点ok,返回到Configurations设置中,下边有个灯泡图案的fix按钮,如果没有,其实在pycharm的file菜单中的settings中,
的Languages&Frameworks(框架)找到django(也可以直接在settings框左上方直接搜索),勾上Enable Django Support(支持),然后在Django project root 中,找到本地的django项目根目录选择上
settings是根据上面的根目录找到项目文件夹下的settings.py选择上,这里是相对路径,然后Manage script 选择上manage.py,都设置好后apply然后ok,然后settings里也apply ,ok,
设置好之后,点击运行按钮,就可以在浏览器中访问127.0.0.1:8000/了 - 5.项目tree . ---项目根目录,通过命令创建项目时指定的项目名
|__ crm ---创建项目时系统自动创建的文件夹,项目的python的包,常用文件配置文件都在这个项目里边
| |__ __init__.py ---方便进行导入
| |__ settings.py ---项目配置文件,包含数据库信息,调试,静态文件等
| |__ urls.py ----路由声明,路由配置
| |__ wsgi.py ----接口,部署服务器的时候要用到wsgi接口
|_____manage.py ---是django的一个命令行工具,管理django项目用的,也是创建项目的时候django自动帮我们生成的 - 如果你的pycharm远程连接显示乱码,也可以搜索encoding然后tools里的ssh terminal--》default encoding设置utf-8
- 创建视图 ,1)在项目文件夹下(和init,settings这些同级)创建一个views.py
导入模块 from django.http import HttpResponse ,这是http响应
定义一个函数def index():这是我们的首页,接收参数request,返回HttpResponse("")括号中可以放前端代码,表示收到客户端的请求之后把客户端要的页面返回给 人家,
相当于自定义框架的wsgi方法,在django中叫视图方法,作用是调用模板返回信息
def index(request): return HttpResponse("我是student中的主页面")
2)视图函数创建好后,要和url对应,要有路由规则,在urls.py中,先导入views模块from . import views
然后设置urlpatterns(patterns 模式),在里边增加一条路由,用path()方法:path(‘index/‘,)
第一个参数的字符串是路由,前边不能加/,django会自动添加一个,自己加就出错了,后边要加,第二个参数是对应的方法views.index
1 urlpatterns = [ 2 path(‘home/‘, views.index, name=‘index‘), 3 path(‘detail/<int:pk>/‘, views.detail, kwargs={‘status‘: True}), 4 re_path(r‘students/(?P<year>\d{4})/(?P<month>[0-9]|1[0-2])/‘, views.students), 5 path(‘login/‘, views.login) 6 ]
3)设置好后,重新运行项目(把之前的stop然后run),浏览器中的网址127.0.0.1:8000这时候就会访问不了,要在后边加/index, index的后边写不写/都可以,不写django会自动帮我们加上
8.项目和应用:1)项目:在django中,项目就是安装了一些设置的django
2)应用:是一个包含了模型,视图,模板,urls的组合
cd到项目根目录(连接虚拟机中的)输入命令python manage.py startapp <appname> 创建后的app文件夹和项目文件夹平级,在项目根目录里边
3)项目下可以有很多个应用,互相之间通过项目提供的一些特定功能进行交互,并且应用可以被项目重复使用,可以认为整个项目就是一个网站,网站包含了多个应用(板块),比如博客,论坛等,在django中一个应用可以被多个项目使用
以上是关于django基础,环境搭建,开始第一个项目的主要内容,如果未能解决你的问题,请参考以下文章
在Ubuntu中搭建Python3的虚拟环境并开始django项目