小编ali*_*s51的帖子

Bootstrap:如何在navbar-collapse中创建其他菜单项

我正在尝试在Bootstrap中创建自定义导航栏.

我想实现四件事:

  1. 右对齐导航链接

  2. 导航栏扩展时,导航链接的文本居中对齐

  3. 导航栏折叠时文本右对齐导航链接

  4. (这是困难的部分)导航栏折叠但展开时未显示的其他导航链接.


<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)

css navbar twitter-bootstrap

3
推荐指数
1
解决办法
4219
查看次数

Google 地图在 Bootstrap 上不显示?

我正在尝试在引导程序上实现谷歌地图。

我遵循了谷歌自己的指南,在这里: 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/

以前有人遇到过这种情况吗?我一定错过了一个基本的解决方法,但大量的论坛搜索都没有帮助。

谢谢

javascript css google-maps twitter-bootstrap

3
推荐指数
1
解决办法
9766
查看次数

如何向jquery scrolltop添加偏移量

我正在使用以下代码在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的偏移量来调整?

javascript jquery twitter-bootstrap

3
推荐指数
1
解决办法
4657
查看次数

SyntaxError:JSON.parse:意外字符

我有一个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设置上工作正常.*

javascript jquery json

3
推荐指数
1
解决办法
3万
查看次数

如何在CSS圈子周围添加第二个边框

我有以下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中运行.

html css

3
推荐指数
2
解决办法
4443
查看次数

什么是CSS媒体查询的jQuery等价物?

我正在使用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)

css jquery css3

3
推荐指数
1
解决办法
516
查看次数

如何在 Django ModelForms 中加载实例

我正在使用 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没有正确加载?

python django django-models django-forms django-views

3
推荐指数
1
解决办法
1万
查看次数

为什么“sh -c 命令”中的 -c 在某些情况下是强制性的,而在其他情况下是不允许的?

我在我的 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])?

docker alpine-linux

3
推荐指数
1
解决办法
2284
查看次数

如何对“新风格”Django 中间件进行单元测试

我正在学习如何对 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__?

python django django-middleware django-testing django-tests

3
推荐指数
1
解决办法
4856
查看次数

如何使用unittest.mock调试修补方法

我有以下(简化的)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.calledFalse.

我哪里出错了/我该如何调试?

************更新*******************

当在与视图相同的模块中修补函数时,出现以下错误:

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)

python django django-testing python-mock python-unittest

3
推荐指数
1
解决办法
1634
查看次数