我正在尝试在Bootstrap中创建自定义导航栏.
我想实现四件事:
右对齐导航链接
导航栏扩展时,导航链接的文本居中对齐
导航栏折叠时文本右对齐导航链接
(这是困难的部分)导航栏折叠但展开时未显示的其他导航链接.
<div class="navbar">
<div class="navbar-inner">
<div class="ps-content">
<button type="button" class="btn btn-navbar visible-phone" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="brand">Navigation</div>
<!-- PS RHS menu items -->
<div class="visible-tablet pull-right">
<ul class="nav">
<li class="active"><a href="#link_1">Active link</a></li>
<li class="divider-vertical"></li>
<li><a href="#link_2">Second link</a></li>
<li class="divider-vertical"></li>
<li><a href="#link_3">Third link</a></li>
</ul>
</div>
<div class="nav-collapse pull-right ">
<ul class="nav pull-right ">
<li class="active"><a href="#link_1">Actives link</a></li>
<li class="divider-vertical"></li>
<li><a href="#link_2">Second link</a></li>
<li class="divider-vertical"></li>
<li><a href="#link_3">Third link</a></li>
</ul>
</div>
</div> …Run Code Online (Sandbox Code Playgroud) 我正在尝试在引导程序上实现谷歌地图。
我遵循了谷歌自己的指南,在这里: https: //developers.google.com/maps/documentation/javascript/examples/map-simple
虽然这适用于独立页面,但当我添加 Bootstrap CSS 时,地图不会显示。我似乎找不到修复它的黑客。
HTML:
<body>
<div id="map-canvas"></div>
</body>
Run Code Online (Sandbox Code Playgroud)
脚本:
var map;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
Run Code Online (Sandbox Code Playgroud)
CSS(通过引导)
html, body, #map-canvas {
margin: 0;
padding: 0;
height: 100%;
}
Run Code Online (Sandbox Code Playgroud)
请参阅此处的 jsFiddle:http ://jsfiddle.net/robmc/6BTjE/2/
以前有人遇到过这种情况吗?我一定错过了一个基本的解决方法,但大量的论坛搜索都没有帮助。
谢谢
我正在使用以下代码在bootstrap上的导航栏中的菜单链接中滚动滚动:
$("#subnavbar ul li a[href^='#']").on('click', function(e) {
e.preventDefault();
$('html, body').animate({ scrollTop: $(this.hash).offset().top }, 600);
// edit: Opera and IE requires the "html" elm. animated
});
Run Code Online (Sandbox Code Playgroud)
此时,固定导航栏隐藏了下面的锚点.如何添加60px的偏移量来调整?
我有一个JSON解析错误,我无法调试.代码如下:
$(document).on('submit', '#confirmreset', function(event) {
event.preventDefault();
var action_url = $(this).attr("action");
alert_box_register("Resetting password...");
console.log(action_url);
var postData = $(this).serializeArray();
console.log(postData);
$.post(action_url, postData, function(data) {
console.log(data);
var obj = $.parseJSON(data);
alert_box_register(obj.message);
});
});
Run Code Online (Sandbox Code Playgroud)
和JSON:
{
"status": "success",
"message": "A temporary password has been emailed to you."
}
Run Code Online (Sandbox Code Playgroud)
在Firefox中,错误是"SyntaxError:JSON.parse:unexpected character",在Chrome中它是"Uncaught SyntaxError:Unexpected token C"
有任何想法吗?
*编辑:这在我的localhost设置上工作正常.*
我有以下CSS创建一个红色圆圈(JS小提琴这里:http://jsfiddle.net/47BDT/)
<div class="shadow-circle"></div>
.shadow-circle{
width:100px;
height:100px;
border-radius: 50%;
border: 6px solid red;
-moz-background-clip: content; /* Firefox 3.6 */
-webkit-background-clip: content; /* Safari 4? Chrome 6? */
background-clip: content-box; /* Firefox 4, Safari 5, Opera 10, IE 9 */
}
Run Code Online (Sandbox Code Playgroud)
我想在圆圈周围添加1px蓝色边框(也是圆形边框).我该怎么做呢?解决方案需要在IE8中运行.
我正在使用jQuery mobile创建一个侧面板.我有以下代码,它添加了滑动功能以显示侧面板:
$( document ).on( "pagecreate", "#swipe-page", function() {
$( document ).on( "swipeleft swiperight", "#swipe-page", function( e ) {
// We check if there is no open panel on the page because otherwise
// a swipe to close the left panel would also open the right panel (and v.v.).
// We do this by checking the data that the framework stores on the page element (panel: open).
if ( $( ".ui-page-active" ).jqmData( "panel" ) !== "open" ) {
if ( …Run Code Online (Sandbox Code Playgroud) 我正在使用 Django 的用户模型。
如何让 Django ModelForm 预填充模板中的值?我知道我必须使用该表单的实例,但我在下面哪里出错了:
模型.py:
class Site(models.Model):
user = models.ForeignKey(User, )
site_name = models.CharField(max_length=128, blank=False, null=False)
Run Code Online (Sandbox Code Playgroud)
表格.py:
class SiteForm(forms.ModelForm):
class Meta:
model = Site
fields = '__all__'
Run Code Online (Sandbox Code Playgroud)
视图.py:
def settings(request):
site_profile = Site.objects.get(user=request.user)
if request.method == "POST":
form = SiteForm( instance=site_profile )
if form.is_valid():
form.save()
return redirect('dashboard_home')
else:
form = SiteForm()
return render(request, "dashboard/settings.html", {'form': form })
Run Code Online (Sandbox Code Playgroud)
此代码返回没有错误的页面,但不会使用数据库中的值预填充表单字段。
我只能假设instance没有正确加载?
我在我的 docker 配置 ( ) 中使用wait-for,这是一个 Linux POSIX (#!bin/sh) 脚本python:3.8.1-alpine3.11。
在我的 docker-compose.yml 中,我使用以下命令加载脚本:
app:
command: sh -c "wait-for postgres:5432 && python manage.py migrate
&& python manage.py runserver 0.0.0.0:8000"
Run Code Online (Sandbox Code Playgroud)
然而,这会导致/bin/sh: wait-for: not found. 该文件肯定在那里,因为当我进入容器时我可以看到它。
通过容器内的反复试验,我发现以下方法可行:
/usr/src/app $ sh wait-for
Run Code Online (Sandbox Code Playgroud)
简而言之,使用该-c标志似乎会导致该选项。我知道sh -c将程序sh称为解释器并按照此命令的解释执行脚本,但是在这种情况下发生了什么/为什么会-c导致脚本出现问题?
-c例如,该行中的其他命令如果没有;则无法运行。sh python不会运行,它需要sh -c python.
在我的文件中使用的正确方法是什么docker-compose.yml?我应该有两个命令条目(一个用于sh wait-for,另一个用于sh -c [other commands])?
我正在学习如何对 Django 中间件进行单元测试。
process_request()在“旧式”中间件中,加载用于测试结果的中间件非常容易。例如
def test_session(self):
request = self.factory.get('/')
session_middleware = SessionMiddleware()
session_middleware.process_request(request)
// Do stuff
Run Code Online (Sandbox Code Playgroud)
然而,在“新风格”中,这并不存在。例如,我将如何测试Django 文档提供的以下示例?
class TimezoneMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
tzname = request.session.get('django_timezone')
if tzname:
timezone.activate(pytz.timezone(tzname))
else:
timezone.deactivate()
return self.get_response(request)
Run Code Online (Sandbox Code Playgroud)
使用TimezoneMiddleware(request)会调用__init__但不会调用__call__?
我有以下(简化的)FBV:
def check_existing_contacts(request):
if request.is_ajax and request.method == "GET":
print('Function called')
return mailgun_validate_email(request)
return JsonResponse({"error": "Incorrect AJAX / GET request."}, status=400)
Run Code Online (Sandbox Code Playgroud)
我想测试该mailgun_validate_email函数是否被调用:
class TestCheckExistingContacts(TestCase):
@patch('myapp.mailgun_validate_email')
def test_new_contact(self, mock):
client = Client()
client.get('/check/', HTTP_X_REQUESTED_WITH='XMLHttpRequest')
self.assertTrue(mock.called)
Run Code Online (Sandbox Code Playgroud)
我确信测试调用如控制台中显示的mailgun_validate_email那样。print('Function called')但是我收到一个断言错误,该错误mock.called是False.
我哪里出错了/我该如何调试?
************更新*******************
当在与视图相同的模块中修补函数时,出现以下错误:
class TestCheckExistingContacts(TestCase):
@patch('[path to views.py with check_existing_contacts].mailgun_validate_email')
def test_new_contact(self, mock):
client = Client()
client.get('/check/', HTTP_X_REQUESTED_WITH='XMLHttpRequest')
self.assertTrue(mock.called)
Run Code Online (Sandbox Code Playgroud)
结果是:
Failure
Traceback (most recent call last):
File "\tests\test_utils.py", line 123, in test_new_contact …Run Code Online (Sandbox Code Playgroud) css ×4
django ×3
javascript ×3
jquery ×3
python ×3
alpine-linux ×1
css3 ×1
django-forms ×1
django-tests ×1
django-views ×1
docker ×1
google-maps ×1
html ×1
json ×1
navbar ×1
python-mock ×1