django新建项目流程

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 中增加以下代码
 
   
  1. class Device(models.Model):
  2. mac=models.CharField(primary_key=True,max_length=20);
  3. s_version=models.CharField(max_length=20);
  4. h_version=models.CharField(max_length=20);
  5. price=models.IntegerField(default=0);
  6. online_status=models.CharField('status string',max_length=500);
  7. last_heart_time=models.DateTimeField('last heart')
  8. register_date=models.DateField()
  9. cmd_exe_time=models.DateTimeField('cmd exe time')
  10. exe_cmd=models.CharField(max_length=50);
  11. descript=models.CharField(max_length=200);
  12. def __str__(self):
  13. return "%s | %s" %(self.mac,self.price)
  14. class Param(models.Model):
  15. mac=models.ForeignKey(Device)
  16. ssid1=models.CharField(max_length=32);
  17. pwd1=models.CharField(max_length=64);
  18. channel=models.IntegerField(default=6);
  19. def __str__(self):
  20. return self.ssid1

执行以下命令更新数据库
python manage.py   makemigrations
python manage.py migrate
这样就新建了Device表和Param表

9.  将用户表注册到admin后台页面显示
编辑api/admin.py
 
   
  1. from .models import Device
  2. from .models import Param
  3. class DeviceAdmin(admin.ModelAdmin):
  4. fieldsets=[
  5. ]
  6. admin.site.register(Device,DeviceAdmin)
  7. admin.site.register(Param,DeviceAdmin)



这样admin后台就可以看到Device和Param列表了,并可以对其添加删除操作。
更多相关文章,微信请关注:wifi开发者,定期发布开发相关总结


猜你喜欢

转载自blog.csdn.net/dxt1107/article/details/70348329