Django创建python项目

原创
2017/05/19 15:19
阅读数 70

使用Django创建python项目

Django 环境搭配

  • django介绍和版本这里不做叙述,不清楚的同学可以网上搜搜,一大堆,注意,本文是基于python3,python2类似
  • 安装Django
    • 安装pip、python(非本文论题,不做叙述)
    • 安装Django : pip install Django
    	(venv) hulinhuadeMacBook-Air:py3 linhuahu$ pip install Django
    

Collecting Django Using cached Django-1.11.1-py2.py3-none-any.whl Collecting pytz (from Django) Using cached pytz-2017.2-py2.py3-none-any.whl Installing collected packages: pytz, Django Successfully installed Django-1.11.1 pytz-2017.2 (venv) hulinhuadeMacBook-Air:py3 linhuahu$ ```

* 检查是否安装成功
(venv) hulinhuadeMacBook-Air:py3 linhuahu$ 
(venv) hulinhuadeMacBook-Air:py3 linhuahu$ python
Python 3.6.1 (default, May 17 2017, 11:51:50) 
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> import django
>>> django.VERSION
(1, 11, 1, 'final', 0)
>>> 
如果运行后看到版本号,就证明安装成功了

django 创建项目

  • 新建一个django_project项目
(venv) hulinhuadeMacBook-Air:py3 linhuahu$ django-admin.py startproject django_project
(venv) hulinhuadeMacBook-Air:py3 linhuahu$ ls
django_project	venv
(venv) hulinhuadeMacBook-Air:py3 linhuahu$ 

django_project是项目的名称,

  • 新建一个app
(venv) hulinhuadeMacBook-Air:py3 linhuahu$ ls
django_project	venv
(venv) hulinhuadeMacBook-Air:py3 linhuahu$ cd django_project/
(venv) hulinhuadeMacBook-Air:django_project linhuahu$ python manage.py startapp app_name
(venv) hulinhuadeMacBook-Air:django_project linhuahu$ 

进入项目,创建一个名为app_name的app

一般一个项目有多个app, 当然通用的app也可以在多个项目中使用。

如果成功的话, 我们会看到如下的目录样式 markDown Screenshot 其中django_project是项目文件夹,app_name为项目中的一个app

django 运行项目

  • 修改django_project/settings.py markDow Screenshot

备注,这一步是干什么呢? 新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件) , 后面你会学习到它们分别用来干什么.

所以这里把app_name加到 INSTALL_APPS中,把项目和app关联起来

  • 我们在app_name这个目录中,把views.py打开,修改其中的源代码,改成下面的
#coding:utf-8
from django.http import HttpResponse
 
def index(request):
    return HttpResponse(u"好好学习,天天向上")

第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.

第二行引入HttpResponse,它是用来向网页返回内容的,就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。

我们定义了一个index()函数,第一个参数必须是 request,与网页发来的请求有关,request 变量里面包含get或post的内容,用户浏览器,系统等信息在里面(后面会讲,先了解一下就可以)。

函数返回了一个 HttpResponse 对象,可以经过一些处理,最终显示几个字到网页上。

那问题来了,我们访问什么网址才能看到刚才写的这个函数呢?怎么让网址和函数关联起来呢?

  • 我们打开 mysite/mysite/urls.py 这个文件, 修改其中的代码:
from django.conf.urls import url
from django.contrib import admin
from app_name import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', views.index),
]

这段的话,大家如果不懂的话就照着抄好了,毕竟不能一口吃成胖子,大家后面都会慢慢理解

  • 在终端上运行 python manage.py runserver
(venv) hulinhuadeMacBook-Air:django_project linhuahu$ python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

May 19, 2017 - 07:10:51
Django version 1.11.1, using settings 'django_project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

我们打开浏览器,访问 http://127.0.0.1:8000/

不出意外的话你会看到: markDown

总结:django最简命令

  • 安装Django : pip install Django
  • 创建项目:django-admin.py startproject django_project
  • 创建app:python manage.py startapp app_name
  • 运行项目: python manage.py runserver
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部