1. 新建一个项目
# django-admin startproject yunac
2. 新建一个app
进入yunac目录
# cd yunac
# python manage.py startapp api
修改 yunac/settings.py
django 1.6
在INSTALLED_APPS后面添加'api'
django 1.9 添加api.apps.ApiConfig,如果设置成api会导致templates目录找不到。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'api.apps.ApiConfig'
]
3. 增加app的url配置
在api目录里面增加urls.py文件
,内容如下
from django.conf.urls import *
from api.views import *
urlpatterns = []
在项目配置文件urls.py中配置app的url配置
静态页面的访问
在api目录中新建static目录,加入index.html文件
问题:
如果新建的api2 app?怎样访问api2目录中static文件呢?
经测试发现,会默认访问放在在前面的static目录
4. 初始化数据库
数据库默认是sqlite3
python manage.py migrate
而django1.6需要用python manage.py syncdb同步数据库。
5.创建超级用户
python manage.py createsuperuser
依次输入用户名密码
6. 启动服务器
python manage.py runserver 127.0.0.1:80
访问admin后台,并登录 http://127.0.0.1/admin
7. 添加一个view
在api/view.py中增加以下代码
def echo(request):
return HttpResponse("echo...");
api/urls.py增加
urlpatterns = [
url(r'^echo',echo),
]
重启服务器,访问
http://192.168.75.131/api/echo
注意:192.168.75.131是本机地址
即可看到 echo...信息
8. 增加models
在api/models.py 中增加以下代码
class Device(models.Model):
mac=models.CharField(primary_key=True,max_length=20);
s_version=models.CharField(max_length=20);
h_version=models.CharField(max_length=20);
price=models.IntegerField(default=0);
online_status=models.CharField('status string',max_length=500);
last_heart_time=models.DateTimeField('last heart')
register_date=models.DateField()
cmd_exe_time=models.DateTimeField('cmd exe time')
exe_cmd=models.CharField(max_length=50);
descript=models.CharField(max_length=200);
def __str__(self):
return "%s | %s" %(self.mac,self.price)
class Param(models.Model):
mac=models.ForeignKey(Device)
ssid1=models.CharField(max_length=32);
pwd1=models.CharField(max_length=64);
channel=models.IntegerField(default=6);
def __str__(self):
return self.ssid1
执行以下命令更新数据库
python manage.py makemigrations
python manage.py migrate
这样就新建了Device表和Param表
9. 将用户表注册到admin后台页面显示
编辑api/admin.py
from .models import Device
from .models import Param
class DeviceAdmin(admin.ModelAdmin):
fieldsets=[
]
admin.site.register(Device,DeviceAdmin)
admin.site.register(Param,DeviceAdmin)
这样admin后台就可以看到Device和Param列表了,并可以对其添加删除操作。
更多相关文章,微信请关注:wifi开发者,定期发布开发相关总结