来自我的 urls.py :
urlpatterns = [
...,
url(r'^docs/', include('rest_framework_swagger.urls')),
]
我最近安装了django_rest_swagger
,它包含在settings.py
的INSTALLED_APPS中。但是,当我尝试运行服务器时,我得到ImportError
:
File "/home/myname/myapp/api/urls.py", line 11, in <module>
url(r'^docs/', include('rest_framework_swagger.urls')),
File "/usr/local/lib/python2.7/dist-packages/django/conf/urls/__init__.py", line 52, \
in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named urls
我正在使用自定义用户身份验证模型和令牌身份验证,这可能会或可能不会影响此功能(我也无法使用可浏览的API)。
class UserProfile(AbstractUser):
gender = models.CharField(max_length=1,default='')
description = models.TextField(blank=True,default='')
此外,当我尝试实现架构视图时,我收到了这个单独的错误:
views.py :
@api_view()
@renderer_classes([SwaggerUIRenderer, OpenAPIRenderer])
def schema_view(request):
generator = schemas.SchemaGenerator(title='Test API')
return Response(generator.get_schema(request=request))
urls.py :
urlpatterns = [ ... URL(r'schema视点/”,schema_view), ... ]
AttributeError at /schema-view/
'ObtainAuthToken' object has no attribute 'get_serializer_class'
我从教程中复制/粘贴了这段代码,但它没有用,为什么它不起作用,但它似乎与get_serializer_class()
没有为只有一个视图类明确定义的事实有关继承自APIView
,这是ObtainAuthToken
类的情况。由于内置于其余框架中的元类使用,我一直很难跟踪类方法,所以我无法确定。
我的最终目标是获取我正在编程的API的文档,但是eveyr单一尝试似乎给我带来了不同的问题。这里有什么东西我做错了吗?
答案 0 :(得分:2)
这个问题是因为django-rest-swagger版本。尝试使用pj install django-rest-swagger === 0.3.5与django 1.9安装swagger 0.3.5版本。如果您的django版本是1.10,请按照以下链接解决问题https://github.com/marcgibbons/django-rest-swagger/issues/452
答案 1 :(得分:0)
对于Django&gt; 1.10项目urls.py
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />
<div id="a8" style="float:left;width:100%;margin:5px 0px 10px 10px;text-align:left;font-size:17px;">
<div class="yopdiv" style="float:left;width:10.5%;font-size:16px;margin-top:3px;font-family:arial;">
<label>Organisation</label>
</div>
<div class="org" style="float:left;width:24%;">
<input style="display:none;" id="orgid" type="text" name="orgid" value="1" />
<input type="text" name="organisation" id="orgname" style="width:95%;height:20px;font-size:17px;" value="" required/>
</div>
<div class="formlbl" style="float:left;width:5.5%;font-size:16px;margin-top:3px;font-family:arial;">
<label>From </label>
</div>
<div class="formtxt" style="float:left;width:10%;">
<input type="text" id="fromdt" name="fromdate" maxlength="10" style="width:95%;height:20px;font-size:15px;" value="" />
</div>
<div class="tolbl" style="float:left;width:4%;font-size:16px;margin:3px 0px 0 15px;font-family:arial;">
<label>To</label>
</div>
<div class="totxt" style="float:left;width:10%;font-size:18px;">
<input type="text" name="todate" id="todt" value="" style="width:90%;height:20px;font-size:17px;" />
</div>
<div class="cpctylbl" style="float:left;width:6%;font-size:16px;margin:3px 0px 0 15px;font-family:arial;">
<label>Capacity</label>
</div>
<div class="cptxt" style="float:left;width:16%;font-size:18px;">
<input type="text" name="capacity" id="cpcty" value="" style="width:97%;height:20px;font-size:17px;" />
</div>
<div class="plusdiv" style="float:left;width:3%;margin-left:-2px;padding-left:20px;">
<a id='adddata' href="#"><i class="fa fa-plus" style="width:70%;font-size:25px;color:white;background-color:#dc143c;padding-left:2px;"></i></a>
</div>
<div class="crossdiv" style="float:left;width:5%;padding-left:10px;">
<a id='cleardata' href="#"><i class="fa fa-remove" style="width:50%;font-size:25px;color:white;background-color:#dc143c;padding-left:4px;"></i></a>
</div>
</div>
<div id="exptable" class="expdiv" style="max-height:140px;overflow: auto; width:100%;">
<table cellspacing="0" style="width:100%;" cellpadding="0" id=tableexp>
<thead>
<tr>
<th style="width:25%;">Organisation</th>
<th style="width:20%;">From</th>
<th style="width:13%;">To</th>
<th style="width:20%;">Capacity</th>
<th style="width:5%;">Edit</th>
<th style="width:5%;">Delete</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>