一个Django简易项目的操作关键

 建立一个文件夹,控制台定位到该文件夹,

python -m django --version

确认Django的版本,

django-admin startproject trashbin

建立一个django工程。目录结构图如下:

trashbin/
    manage.py
    trashbin/
        __init__.py
        settings.py
        urls.py
        wsgi.py

在manage.py文件的位置,输入

python manage.py runserver 80

这样运行一个本地网站,127.0.0.1显示It worked!

使用PyCharm开发项目。打开PyCharm,打开,文件夹位置定位到manage.py所在的文件夹,这个我们定义为项目的工作目录。

使用PyCharm的调试器,菜单“run”-》“Edit Configurations”,左侧点击绿色的加号,选择python,Name填写debug-server,右侧Script填写manage.py

ScriptParameters填写runnserver 80,working directory填写项目的工作目录。

 

python manage.py startapp dispatch

创建一个新的APP,名称叫dispatch

为dispatch创建一个简单的view,并且使用URL路由。

在dispatch/views.py文件添加

from django.http import HttpResponse
def HelloWorld(request):
    return HttpResponse('Hello,you are at HelloWorld Index Page!1!!!')
View Code

dispatch下新建urls.py文件添加

from django.conf.urls import url
from . import views
urlpatterns=[
    url(r'^$',views.HelloWorld,name='hello')
]
View Code

将工作目录的urls.py修改为如下:

from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
    url(r'^hello/',include('dispatch.urls')),
    url(r'^admin/', admin.site.urls),
]
View Code

 这样127.0.0.1/hello看到Hello,you are at HelloWorld Index Page!1!!!

关于URL的正则表达式,参阅如下网站

http://www.cnblogs.com/chuxiuhong/p/5885073.html
https://docs.djangoproject.com/en/1.11/topics/http/urls/

默认数据库是sqlite3,这里修改成mysql,注意MySQL建立一个新的数据库的时候,字符集必须使用utf8

create database django DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

工作目录中的settings.py文件修改如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django',
        'USER':'root',
        'PASSWORD':'asweklwfek',
     'HOST':'127.0.0.1',
      'PORT':'3306'
    }
}
 在__init__文件中添加

import pymysql
pymysql.install_as_MySQLdb()

注意:生产环境中
ALLOWED_HOSTS = []修改成
ALLOWED_HOSTS = ['*']
View Code

 同时,settings.py中的语言和时区的修改

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

 

ORM的使用

在APP dispatch的文件models.py中,添加一个类,对应了数据库中的一个表,代码如下

from django.db import models

# Create your models here.
class BinStatus(models.Model):
    gps_serial= models.CharField(max_length=50,primary_key=True)
    lng=models.CharField(max_length=50)
    lat=models.CharField(max_length=50)
    full=models.BooleanField(default=False)
    low_bat=models.BooleanField(default=False)
    no_bat=models.BooleanField(default=False)
models.py

要激活模型,django会使用settings.py文件中INSTALLED_APPS中的APP

查看dispatch APP中的app.py文件,可以知道类名是DispatchConfig,所以在INSTALLED_APP中添加

INSTALLED_APPS = [
...
'django.contrib.staticfiles',
'dispatch.apps.DispatchConfig'
]

使用命令,告诉系统你要做哪些变动

python manage.py makemigrations dispatch

使用命令来应用。

python manage.py migrate

 为了在admin后台中修改相关数据库,相关的类需要在APP的admin.py文件中注册。

from django.contrib import admin
from .models import BinStatus
# Register your models here.
admin.site.register(BinStatus)
register

 然后创建一个后台用户

python manage.py createsuperuser

外部调用Django的ORM

代码如下

import sys
import os
from django.core.wsgi import get_wsgi_application
sys.path.extend([r'D:\pythonWeb\trashbin',])
os.environ.setdefault("DJANGO_SETTINGS_MODULE","trashbin.settings")
application = get_wsgi_application()
from dispatch.models import BinStatus
print(BinStatus.objects.all())
外部调用ORM

 

posted on 2017-06-21 17:42  legion  阅读(155)  评论(0编辑  收藏  举报

导航